25 Best MCP Servers for AI Agents: Complete Setup Guide (2026)
Model Context Protocol has become the standard for connecting AI agents to external tools. Since Anthropic donated MCP to the Linux Foundation in December 2025, adoption has accelerated across OpenAI, Google, and most major AI platforms. This shift reflects broader enterprise AI trends toward standardized tooling.
This guide covers 25 MCP servers across six categories: productivity, databases, development tools, browser automation, cloud infrastructure, and search. Each entry includes setup configuration, authentication requirements, key tools exposed, and practical use cases.
How MCP Servers Work
MCP servers expose tools, resources, and prompts to AI clients through a standardized JSON-RPC protocol. The client (Claude Desktop, Cursor, Claude Code) connects to servers via stdio, HTTP, or SSE transport.
A typical configuration in claude_desktop_config.json:
{
"mcpServers": {
"server-name": {
"command": "npx",
"args": ["-y", "@package/server-name"],
"env": {
"API_KEY": "your-key"
}
}
}
}
Remote servers use URL-based configuration:
{
"mcpServers": {
"remote-server": {
"url": "https://mcp.service.com/mcp",
"transport": "sse"
}
}
}
Productivity & Communication
1. Slack MCP Server
Maintainer: Slack (official, hosted at mcp.slack.com)
Transport: Remote SSE with OAuth
Slack's official MCP server provides 47 tools for workspace interaction. Connect once via OAuth, and your agent can search messages, post to channels, and manage workflows.
Key Tools:
slack_send_message- Post to channels by IDslack_search_public- Search public channel messagesslack_search_public_and_private- Search all channelsslack_read_channel- Fetch message historyslack_read_thread- Get thread repliesslack_create_canvas- Create Slack-native documents
Configuration:
{
"mcpServers": {
"slack": {
"url": "https://mcp.slack.com/mcp",
"transport": "sse"
}
}
}
OAuth flow handles authentication. First connection opens browser for workspace authorization.
Use Cases:
- Automated standup summaries
- Cross-channel search for context
- Posting deployment notifications
- Creating documentation from threads
Limitations: Rate limits apply. Bot must be invited to private channels for access.
2. Gmail MCP Server
Maintainer: Google (via claude.ai integration) / Community options
Transport: Remote SSE or local with OAuth
Gmail integration varies by implementation. The claude.ai hosted version uses remote OAuth. Self-hosted options require Google Cloud credentials.
Key Tools:
send_email- Compose and send messagessearch_emails- Gmail query syntax searchget_unread_emails- Fetch unread inboxread_email- Get full message contenttrash_email- Move to trashmodify_email- Change labels, mark read/unread
Self-Hosted Configuration:
{
"mcpServers": {
"gmail": {
"command": "npx",
"args": ["-y", "mcp-google-workspace"],
"env": {
"GOOGLE_CLIENT_ID": "your-client-id",
"GOOGLE_CLIENT_SECRET": "your-secret"
}
}
}
}
Requires OAuth 2.0 credentials from Google Cloud Console. Enable Gmail API in your project.
Use Cases:
- Drafting responses based on conversation context
- Finding specific emails for task context
- Automated email triage and labeling
3. Google Calendar MCP Server
Maintainer: Community (multiple implementations)
Transport: Local stdio with OAuth
Multiple Calendar servers exist. The @cocal/google-calendar-mcp package offers multi-account support and conflict detection.
Key Tools:
list_events- Upcoming events with date filteringcreate_event- Schedule with attendeesupdate_event- Modify existing eventsdelete_event- Remove eventsget_freebusy- Check availabilitysearch_events- Find by title/description
Configuration:
{
"mcpServers": {
"google-calendar": {
"command": "npx",
"args": ["@cocal/google-calendar-mcp"],
"env": {
"GOOGLE_OAUTH_CREDENTIALS": "/path/to/credentials.json"
}
}
}
}
Use Cases:
- Scheduling meetings from natural language
- Pre-meeting briefing (combine with Gmail search)
- Availability checking across calendars
- Automated calendar cleanup
4. Notion MCP Server
Maintainer: Notion (official)
Transport: Remote with OAuth or local with API key
Notion's official MCP server optimizes for token efficiency with Markdown-based responses. The hosted version at developers.notion.com handles OAuth automatically.
Key Tools:
create_page- New pages with contentsearch_content- Search across workspaceupdate_database_item- Modify database entriesretrieve_page- Get page content as Markdownquery_database- Filter and sort database viewsappend_blocks- Add content to existing pages
Local Configuration:
{
"mcpServers": {
"notion": {
"command": "npx",
"args": ["-y", "@notionhq/notion-mcp-server"],
"env": {
"NOTION_API_TOKEN": "secret_..."
}
}
}
}
Create an internal integration at notion.so/my-integrations. Connect pages to the integration for access.
Use Cases:
- Generating documentation from conversation
- Project database updates
- Knowledge base search
- Meeting notes from transcripts
Limitations: Integration must be explicitly connected to each page/database.
5. Atlassian MCP Server (Jira + Confluence)
Maintainer: Atlassian (official remote beta)
Transport: Remote SSE with OAuth
Atlassian's remote MCP server connects Jira and Confluence to AI tools. Built on Cloudflare's Agents SDK with enterprise-grade OAuth.
Key Tools:
- Jira: create issues, search with JQL, update status, add comments
- Confluence: search pages, create content, update documentation
Configuration:
{
"mcpServers": {
"atlassian": {
"url": "https://mcp.atlassian.com/v1/sse",
"transport": "sse"
}
}
}
OAuth connects your Atlassian Cloud instance.
Community Alternative (self-hosted):
{
"mcpServers": {
"jira": {
"command": "npx",
"args": ["-y", "@mcp-devtools/jira"],
"env": {
"JIRA_URL": "https://yourworkspace.atlassian.net",
"JIRA_API_MAIL": "[email protected]",
"JIRA_API_KEY": "your-api-token"
}
}
}
}
Use Cases:
- Creating tickets from bug reports
- Searching for related issues
- Updating ticket status from code commits
- Generating release notes from completed tickets
Development & DevOps
6. GitHub MCP Server
Maintainer: GitHub
Transport: Local stdio
GitHub's MCP server is the gold standard for code-aware agents. Full repository access with identity-based permissions.
Key Tools:
create_pull_request- Open PRs with diffget_issue- Fetch issue detailslist_files- Repository contentssearch_code- Code search across reposcreate_issue- File new issuesget_workflow_runs- CI/CD status
Configuration:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": {
"GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_..."
}
}
}
}
Use Cases:
- Code review assistance
- Issue triage and assignment
- PR description generation
- Automated documentation updates
7. Sentry MCP Server
Maintainer: Sentry (official)
Transport: Remote SSE with OAuth
Sentry's MCP server puts error context directly in your development workflow. Remote-hosted with no local installation. Essential for teams running production AI evaluations.
Key Tools:
- Error and issue querying
- Project and organization access
- Seer analysis integration (AI debugging)
- Performance telemetry
Configuration:
{
"mcpServers": {
"sentry": {
"url": "https://mcp.sentry.dev/mcp",
"transport": "sse"
}
}
}
OAuth connects to your Sentry organization. Select tool groups during auth.
Use Cases:
- Debugging production errors with full context
- Identifying error patterns
- Connecting code changes to error resolution
- Feeding error data into evaluation workflows
8. Linear MCP Server
Maintainer: Community (@mcp-devtools/linear)
Transport: Local stdio
Linear integration for fast-moving development teams.
Key Tools:
- Issue creation and updates
- Project and cycle management
- Search and filtering
- Status transitions
Configuration:
{
"mcpServers": {
"linear": {
"command": "npx",
"args": ["-y", "@mcp-devtools/linear"],
"env": {
"LINEAR_API_KEY": "lin_api_..."
}
}
}
}
Generate API key in Linear: Settings > API > Create Key.
Use Cases:
- Sprint planning assistance
- Issue creation from conversations
- Status updates from development context
Databases
9. PostgreSQL MCP Server
Maintainer: Google (Toolbox) / Community options
Transport: Local stdio
Multiple PostgreSQL servers exist. Google's MCP Toolbox for Databases provides enterprise-grade access with query safety controls.
Toolbox Configuration:
{
"mcpServers": {
"postgres": {
"command": "./toolbox",
"args": ["--prebuilt", "postgres", "--stdio"],
"env": {
"POSTGRES_HOST": "localhost",
"POSTGRES_PORT": "5432",
"POSTGRES_DATABASE": "mydb",
"POSTGRES_USER": "user",
"POSTGRES_PASSWORD": "password"
}
}
}
}
Postgres MCP Pro (crystaldba):
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "@crystaldba/postgres-mcp"],
"env": {
"DATABASE_URI": "postgresql://user:pass@host:5432/db"
}
}
}
}
Key Tools:
execute_sql- Run queries with safety controlslist_schemas- Database structuredescribe_table- Column info and constraintsexplain_query- Query plan analysis
Use Cases:
- Natural language database queries
- Schema exploration
- Query optimization suggestions
- Data analysis workflows
- Generating training data for model fine-tuning
Security Note: Use read-only credentials for production databases. Never expose write access to untrusted agents.
10. MySQL MCP Server
Maintainer: Google (Toolbox) / Community
Transport: Local stdio
Configuration:
{
"mcpServers": {
"mysql": {
"command": "./toolbox",
"args": ["--prebuilt", "mysql", "--stdio"],
"env": {
"MYSQL_HOST": "localhost",
"MYSQL_DATABASE": "mydb",
"MYSQL_USER": "user",
"MYSQL_PASSWORD": "password"
}
}
}
}
Same tools as PostgreSQL. Supports both MySQL 8.x and MariaDB.
11. MongoDB MCP Server
Maintainer: MongoDB (official)
Transport: Local stdio
MongoDB's official server with full Atlas support.
Key Tools:
- Collection operations
- Aggregation pipelines
- Index management
- Query building
Configuration:
{
"mcpServers": {
"mongodb": {
"command": "npx",
"args": ["-y", "@mongodb/mcp-server"],
"env": {
"MONGODB_URI": "mongodb+srv://..."
}
}
}
}
12. SQLite MCP Server
Maintainer: Anthropic (reference)
Transport: Local stdio
The reference SQLite server ships with the official MCP repository. Useful for local development and small-scale data.
Configuration:
{
"mcpServers": {
"sqlite": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-sqlite", "/path/to/database.db"]
}
}
}
13. Supabase MCP Server
Maintainer: Community
Transport: Local stdio
Combines PostgreSQL access with Supabase-specific features like auth and storage.
Key Tools:
- Database queries via PostgREST
- Storage bucket management
- User authentication
- Realtime subscriptions
Configuration:
{
"mcpServers": {
"supabase": {
"command": "npx",
"args": ["-y", "supabase-mcp-server"],
"env": {
"SUPABASE_URL": "https://xxx.supabase.co",
"SUPABASE_SERVICE_KEY": "eyJ..."
}
}
}
}
14. DBHub (Multi-Database)
Maintainer: Bytebase
Transport: Local stdio
Zero-dependency server supporting PostgreSQL, MySQL, SQL Server, MariaDB, and SQLite through a single interface.
Configuration:
{
"mcpServers": {
"dbhub": {
"command": "npx",
"args": ["-y", "dbhub", "--dsn", "postgresql://user:pass@host:5432/db"]
}
}
}
Token-efficient design with just two MCP tools. Good for context-limited scenarios and teams focused on LLM cost optimization.
Browser Automation
15. Playwright MCP Server
Maintainer: Microsoft (official)
Transport: Local stdio
Microsoft's official Playwright MCP brings browser automation to AI agents. Uses accessibility snapshots for efficient interaction without screenshots.
Key Tools:
browser_navigate- Go to URLbrowser_click- Click elementsbrowser_fill- Form inputbrowser_screenshot- Capture pagebrowser_evaluate- Run JavaScriptbrowser_snapshot- Accessibility tree
Configuration:
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": ["-y", "@playwright/mcp"]
}
}
}
Browser installs automatically on first use. Supports Chromium, Firefox, WebKit.
Environment Variables:
PLAYWRIGHT_MCP_BROWSER- chrome, firefox, webkit, msedgePLAYWRIGHT_MCP_HEADLESS- true/falsePLAYWRIGHT_MCP_CAPS- vision, pdf, devtools
Use Cases:
- E2E testing from natural language
- Web scraping and data extraction
- Form automation
- Visual regression testing
16. Puppeteer MCP Server
Maintainer: Anthropic (reference)
Transport: Local stdio or Docker
Puppeteer-based browser automation. Simpler than Playwright but limited to Chromium.
Configuration:
{
"mcpServers": {
"puppeteer": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-puppeteer"]
}
}
}
Docker Deployment:
{
"mcpServers": {
"puppeteer": {
"command": "docker",
"args": ["run", "-i", "--rm", "--init", "-e", "DOCKER_CONTAINER=true", "puppeteer-mcp"]
}
}
}
Supports Cloudflare Workers deployment for cloud-based automation.
Vector Databases & Memory
17. Qdrant MCP Server
Maintainer: Qdrant
Transport: Local stdio
High-performance vector search for agent memory and RAG applications.
Key Tools:
- Collection management
- Vector upsert and search
- Filtering and payload queries
- Batch operations
Configuration:
{
"mcpServers": {
"qdrant": {
"command": "npx",
"args": ["-y", "qdrant-mcp"],
"env": {
"QDRANT_URL": "http://localhost:6333",
"QDRANT_API_KEY": "optional-key"
}
}
}
}
Use Cases:
- Semantic search in RAG pipelines
- Agent long-term memory
- Document similarity matching
- Context retrieval for open source models
For production RAG implementations, vector databases provide the retrieval layer.
18. Chroma MCP Server
Maintainer: Community
Transport: Local stdio
Open-source embedding database optimized for AI applications.
Key Tools:
- Collection CRUD
- Document add/query/delete
- Metadata filtering
- Full-text search
Configuration:
{
"mcpServers": {
"chroma": {
"command": "npx",
"args": ["-y", "chroma-mcp"],
"env": {
"CHROMA_HOST": "localhost",
"CHROMA_PORT": "8000"
}
}
}
}
Supports both ephemeral (in-memory) and persistent storage modes.
19. Memory MCP Server
Maintainer: Anthropic (reference)
Transport: Local stdio
Knowledge graph-based persistent memory. Stores entities and relationships, not raw vectors.
Key Tools:
create_entities- Add nodescreate_relations- Connect nodessearch_nodes- Find by name/typeopen_nodes- Get connected context
Configuration:
{
"mcpServers": {
"memory": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-memory"]
}
}
}
Good for tracking project context, people, and relationships across conversations.
Cloud & Infrastructure
20. AWS MCP Servers
Maintainer: AWS / Community
Transport: Local stdio
Multiple AWS MCP servers exist for different services.
AWS Documentation Server:
{
"mcpServers": {
"aws-docs": {
"command": "npx",
"args": ["-y", "aws-mcp-server"]
}
}
}
Exposes AWS documentation, billing data, and service metadata.
AWS Bedrock:
{
"mcpServers": {
"bedrock": {
"command": "npx",
"args": ["-y", "@aws/bedrock-mcp"],
"env": {
"AWS_ACCESS_KEY_ID": "...",
"AWS_SECRET_ACCESS_KEY": "...",
"AWS_REGION": "us-east-1"
}
}
}
}
For teams deploying enterprise AI on AWS, these servers provide infrastructure integration.
21. Cloudflare MCP Server
Maintainer: Cloudflare
Transport: Edge (Workers)
Cloudflare's edge-native MCP distributes agent computation globally. Lower latency for geographically distributed users.
Key Features:
- Workers KV access
- D1 database queries
- R2 storage operations
- Edge-native deployment
Use Cases:
- Globally distributed agents
- Low-latency tool calls
- Edge caching for frequent operations
22. Google Cloud MCP Servers
Maintainer: Google
Transport: Remote (managed)
Google's managed MCP servers cover AlloyDB, Cloud SQL, Spanner, Firestore, and Bigtable.
Cloud SQL Configuration:
{
"mcpServers": {
"cloudsql": {
"url": "https://mcp.googleapis.com/cloud-sql/v1",
"transport": "sse"
}
}
}
No infrastructure management. Configure endpoint and authenticate.
File & Storage
23. Filesystem MCP Server
Maintainer: Anthropic (reference)
Transport: Local stdio
Secure file operations with configurable access controls.
Key Tools:
read_file- Get file contentswrite_file- Create/update fileslist_directory- Browse folderssearch_files- Pattern matchingget_file_info- Metadata
Configuration:
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/allowed/path"]
}
}
}
Access restricted to specified paths. Multiple paths can be allowed.
24. Google Drive MCP Server
Maintainer: Community
Transport: Local stdio with OAuth
Access Drive files, folders, and shared drives.
Key Tools:
- Search files
- Read document contents
- Upload files
- Folder navigation
- Permission management
Configuration:
{
"mcpServers": {
"gdrive": {
"command": "npx",
"args": ["-y", "google-drive-mcp"],
"env": {
"GOOGLE_CLIENT_ID": "...",
"GOOGLE_CLIENT_SECRET": "..."
}
}
}
}
Requires OAuth credentials from Google Cloud Console with Drive API enabled.
Search & Web
25. Brave Search MCP Server
Maintainer: Brave (official)
Transport: Local stdio
Web and local search through Brave's privacy-focused search API.
Key Tools:
web_search- General web searchlocal_search- Location-based results
Configuration:
{
"mcpServers": {
"brave-search": {
"command": "npx",
"args": ["-y", "@anthropic/brave-search-mcp"],
"env": {
"BRAVE_API_KEY": "..."
}
}
}
}
Get API key from api.search.brave.com.
Use Cases:
- Real-time information retrieval
- Research augmentation
- Fact-checking
Authentication Patterns
MCP servers use three main auth patterns:
API Keys: Simple, set via environment variable. Used by GitHub, Linear, databases.
OAuth 2.0: Browser-based flow for user consent. Used by Slack, Notion, Google services. Store refresh tokens securely.
No Auth: Local-only servers with implicit trust. Filesystem, SQLite, Puppeteer.
For enterprise deployments with data security requirements, audit which servers send data externally.
Security Considerations
MCP servers execute arbitrary actions. Treat them with appropriate caution:
- Principle of Least Privilege - Use read-only credentials when possible
- Path Restrictions - Limit filesystem access to necessary directories
- Network Isolation - Run database servers in private networks
- Audit Logging - Log MCP tool invocations for compliance and observability
- Token Rotation - Rotate API keys and OAuth tokens regularly
Production deployments should implement policy enforcement. Tools like Pomerium add zero-trust controls to MCP servers.
Running Multiple Servers
Most workflows require multiple servers. Example multi-server configuration:
{
"mcpServers": {
"github": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-github"],
"env": { "GITHUB_PERSONAL_ACCESS_TOKEN": "..." }
},
"slack": {
"url": "https://mcp.slack.com/mcp",
"transport": "sse"
},
"postgres": {
"command": "npx",
"args": ["-y", "@crystaldba/postgres-mcp"],
"env": { "DATABASE_URI": "..." }
},
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/projects"]
}
}
}
Each server loads independently. Clients see combined tool sets.
Debugging MCP Servers
Common issues and fixes:
Server won't start:
- Check
commandpath exists - Verify environment variables are set
- Run command manually to see errors
Authentication fails:
- Confirm API key/token is valid
- Check OAuth scopes match required permissions
- Verify token hasn't expired
Tools not appearing:
- Restart client after config changes
- Check server logs for initialization errors
- Verify JSON syntax in config file
Slow responses:
- Network latency for remote servers
- Database query performance
- Rate limiting on external APIs
Building Custom MCP Servers
When existing servers don't cover your use case, build custom ones using official SDKs:
Python (FastMCP):
from fastmcp import FastMCP
mcp = FastMCP("my-server")
@mcp.tool()
def my_custom_tool(param: str) -> str:
"""Tool description for the AI."""
return f"Processed: {param}"
mcp.run()
TypeScript:
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
const server = new Server({ name: "my-server", version: "1.0.0" });
server.setRequestHandler(ListToolsRequestSchema, async () => ({
tools: [{ name: "my_tool", description: "...", inputSchema: {...} }]
}));
For complex integrations, the agentic AI patterns guide covers multi-tool orchestration.
Choosing Servers by Use Case
Developer workflows: GitHub + Sentry + Linear + Filesystem
Knowledge work: Notion + Slack + Gmail + Google Drive
Data analysis: PostgreSQL + Brave Search + Filesystem
Testing automation: Playwright + GitHub + Slack
Customer support: Slack + Notion + Database
Start with two or three servers. Add more as workflows mature.
For teams building custom AI applications, platforms like Prem Studio provide integrated development workflows that complement MCP server capabilities.
FAQ
How many MCP servers can I run simultaneously?
No hard limit, but each server consumes context. Running 10+ servers may exhaust token budgets in longer conversations. Teams using small language models face tighter context limits. Enable only servers needed for current tasks.
Do MCP servers work with OpenAI and other providers?
Yes. Since OpenAI adopted MCP in March 2025, most major AI tools support the protocol. Configuration syntax varies by client.
Can I self-host official MCP servers?
Depends on the server. Anthropic's reference servers are MIT-licensed. Notion, Slack, and Atlassian official servers are remote-only. Community alternatives often support self-hosting.
How do I handle rate limits?
Implement exponential backoff in your agent logic. Some servers (GitHub, Slack) return rate limit headers. Monitor usage and add delays between rapid operations.
Are MCP connections secure?
Local stdio servers communicate over process pipes (secure). Remote SSE/HTTP servers use TLS. OAuth tokens should be stored securely, not in plain-text configs.
What's the difference between MCP and function calling?
Function calling requires vendor-specific integration per tool. MCP provides a universal standard, so one server works with any MCP-compatible client. MCP also supports resources and prompts beyond just tools.