MCP Servers Reference

Complete reference for Model Context Protocol server configurations.

Model Context Protocol (MCP) servers extend your agent with additional tools and data sources. This reference covers all available server templates and configuration options.

Transport Types

stdio

Standard I/O transport runs a local command and communicates via stdin/stdout. Most common for npx-based MCP servers.

1{
2  "name": "server-name",
3  "transport": "stdio",
4  "command": "npx",
5  "args": ["-y", "@package/server"],
6  "env": {
7    "API_KEY": "${API_KEY}"
8  }
9}

http

HTTP transport connects to a REST endpoint.

1{
2  "name": "server-name",
3  "transport": "http",
4  "url": "https://api.example.com/mcp",
5  "headers": {
6    "Authorization": "Bearer ${TOKEN}"
7  }
8}

sse

Server-Sent Events transport for real-time streaming.

1{
2  "name": "server-name",
3  "transport": "sse",
4  "url": "https://api.example.com/events"
5}

sdk

SDK transport loads a JavaScript module directly.

1{
2  "name": "server-name",
3  "transport": "sdk",
4  "serverModule": "./path/to/server.js"
5}

Available Server Templates

Filesystem

Read and write files in specified directories.

1{
2  "name": "filesystem",
3  "transport": "stdio",
4  "command": "npx",
5  "args": [
6    "-y",
7    "@modelcontextprotocol/server-filesystem",
8    "/path/to/allowed/directory"
9  ]
10}
Package@modelcontextprotocol/server-filesystem
CategoryFilesystem
ConfigurationSpecify allowed directories as arguments

GitHub

GitHub API operations including repos, issues, and PRs.

1{
2  "name": "github",
3  "transport": "stdio",
4  "command": "npx",
5  "args": ["-y", "@modelcontextprotocol/server-github"],
6  "env": {
7    "GITHUB_TOKEN": "${GITHUB_TOKEN}"
8  }
9}
Package@modelcontextprotocol/server-github
CategoryGit
Required EnvGITHUB_TOKEN

Git

Local Git repository operations.

1{
2  "name": "git",
3  "transport": "stdio",
4  "command": "npx",
5  "args": ["-y", "@modelcontextprotocol/server-git"]
6}
Package@modelcontextprotocol/server-git
CategoryGit
Required EnvNone

PostgreSQL

Query and manage PostgreSQL databases.

1{
2  "name": "postgres",
3  "transport": "stdio",
4  "command": "npx",
5  "args": ["-y", "@modelcontextprotocol/server-postgres"],
6  "env": {
7    "DATABASE_URL": "${DATABASE_URL}"
8  }
9}
Package@modelcontextprotocol/server-postgres
CategoryDatabase
Required EnvDATABASE_URL (connection string)

SQLite

Query SQLite databases.

1{
2  "name": "sqlite",
3  "transport": "stdio",
4  "command": "npx",
5  "args": [
6    "-y",
7    "@modelcontextprotocol/server-sqlite",
8    "--db-path",
9    "/path/to/database.db"
10  ]
11}
Package@modelcontextprotocol/server-sqlite
CategoryDatabase
Configuration--db-path argument for database location

Brave Search

Web search via Brave Search API.

1{
2  "name": "brave-search",
3  "transport": "stdio",
4  "command": "npx",
5  "args": ["-y", "@modelcontextprotocol/server-brave-search"],
6  "env": {
7    "BRAVE_API_KEY": "${BRAVE_API_KEY}"
8  }
9}
Package@modelcontextprotocol/server-brave-search
CategoryAPI/Web
Required EnvBRAVE_API_KEY

Fetch

Fetch and parse web content.

1{
2  "name": "fetch",
3  "transport": "stdio",
4  "command": "npx",
5  "args": ["-y", "@modelcontextprotocol/server-fetch"]
6}
Package@modelcontextprotocol/server-fetch
CategoryAPI/Web
Required EnvNone

Puppeteer

Browser automation for web scraping and testing.

1{
2  "name": "puppeteer",
3  "transport": "stdio",
4  "command": "npx",
5  "args": ["-y", "@modelcontextprotocol/server-puppeteer"]
6}
Package@modelcontextprotocol/server-puppeteer
CategoryAPI/Web
Required EnvNone (Chrome/Chromium required)

Google Drive

Access and manage Google Drive files.

1{
2  "name": "google-drive",
3  "transport": "stdio",
4  "command": "npx",
5  "args": ["-y", "@anthropic/mcp-server-gdrive"],
6  "env": {
7    "GOOGLE_APPLICATION_CREDENTIALS": "${GOOGLE_APPLICATION_CREDENTIALS}"
8  }
9}
Package@anthropic/mcp-server-gdrive
CategoryCloud
Required EnvGOOGLE_APPLICATION_CREDENTIALS (OAuth)

AWS

AWS service integration.

1{
2  "name": "aws",
3  "transport": "stdio",
4  "command": "npx",
5  "args": ["-y", "@anthropic/mcp-server-aws"],
6  "env": {
7    "AWS_ACCESS_KEY_ID": "${AWS_ACCESS_KEY_ID}",
8    "AWS_SECRET_ACCESS_KEY": "${AWS_SECRET_ACCESS_KEY}",
9    "AWS_REGION": "${AWS_REGION}"
10  }
11}
Package@anthropic/mcp-server-aws
CategoryCloud
Required EnvAWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_REGION

Slack

Slack workspace integration.

1{
2  "name": "slack",
3  "transport": "stdio",
4  "command": "npx",
5  "args": ["-y", "@modelcontextprotocol/server-slack"],
6  "env": {
7    "SLACK_BOT_TOKEN": "${SLACK_BOT_TOKEN}"
8  }
9}
Package@modelcontextprotocol/server-slack
CategoryProductivity
Required EnvSLACK_BOT_TOKEN

Generated Configuration

MCP servers are configured in .mcp.json at the project root:

.mcp.json
1{
2  "mcpServers": {
3    "filesystem": {
4      "command": "npx",
5      "args": ["-y", "@modelcontextprotocol/server-filesystem", "./data"]
6    },
7    "github": {
8      "command": "npx",
9      "args": ["-y", "@modelcontextprotocol/server-github"],
10      "env": {
11        "GITHUB_TOKEN": "${GITHUB_TOKEN}"
12      }
13    }
14  }
15}

Environment variables

Environment variable references like ${GITHUB_TOKEN} are resolved at runtime from your .env file.

Creating Custom Servers

To add a custom MCP server:

  1. Determine the transport type (stdio, http, sse, sdk)
  2. Configure the command/URL and arguments
  3. Set required environment variables
  4. Add to .mcp.json

MCP ecosystem

The MCP ecosystem is growing. Check the MCP Servers repository for the latest available servers.