awesome-generative-ai

Model Context Protocol (MCP) Servers

Comprehensive collection of Model Context Protocol servers that help AI models securely interact with local and remote resources through standardized implementations.


Table of Contents


Top Starred Repositories

Browserbase MCP Server - 2.1k+

Microsoft Playwright MCP - 1.8k+

Supabase MCP - 1.5k+

Pipedream MCP - 1.2k+

Redis MCP - 1.0k+


Browser Automation

Browserbase MCP Server

Microsoft Playwright MCP

Browser Use MCP

Puppeteer MCP


Database Integration

Supabase MCP

PostgreSQL MCP

SQLite MCP

MongoDB MCP

Redis MCP


Cloud Platforms

AWS MCP

Cloudflare MCP

Pulumi MCP

Kubernetes MCP


Communication Platforms

Slack MCP

Discord MCP

Telegram MCP

Microsoft Teams MCP


Developer Tools

GitHub MCP

Docker MCP

CircleCI MCP

Postman MCP


Art and Creative Tools

Blender MCP

Aseprite MCP

DaVinci Resolve MCP

Maya MCP


Aggregators and Frameworks

1MCP Agent

MetaMCP

MCP Discovery

MCP Gravity


Selection Guide

Use Case Recommended MCP Server Why
Web Automation Browserbase MCP Cloud-based, production-ready
Database Operations Supabase MCP Full-stack integration
Cloud Management AWS MCP Comprehensive AWS services
Team Communication Slack MCP Rich workspace integration
Development Workflow GitHub MCP Complete Git/GitHub operations
API Testing Postman MCP Comprehensive API management
3D Content Creation Blender MCP Professional 3D modeling
Server Management 1MCP Agent Unified server aggregation

Quick Start Examples

Python - Basic MCP Server

from mcp import Server, StdioServerTransport
from mcp.server.models import InitializationOptions
import asyncio

# Create MCP server
server = Server("my-server")

@server.list_tools()
async def list_tools() -> list:
    return [
        {
            "name": "hello_world",
            "description": "Say hello to the world",
            "inputSchema": {
                "type": "object",
                "properties": {
                    "name": {"type": "string", "description": "Name to greet"}
                }
            }
        }
    ]

@server.call_tool()
async def call_tool(name: str, arguments: dict) -> dict:
    if name == "hello_world":
        return {"content": f"Hello, {arguments.get('name', 'World')}!"}

TypeScript - Browser Automation

import { MCPClient } from '@modelcontextprotocol/sdk/client/index.js';
import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';

// Connect to browser MCP server
const transport = new StdioClientTransport({
  command: 'npx',
  args: ['@browserbase/mcp-server-browserbase']
});

const client = new MCPClient({
  name: "browser-client",
  version: "1.0.0"
}, {
  capabilities: {}
});

await client.connect(transport);

// Navigate to a website
const result = await client.callTool({
  name: "navigate",
  arguments: {
    url: "https://example.com"
  }
});

Additional Resources


Getting Started

  1. Choose your MCP server based on your use case
  2. Install the server using npm, pip, or direct download
  3. Configure your AI client such as Claude Desktop or Cursor
  4. Start using natural language to interact with your tools

Tip: MCP servers enable AI models to interact with external tools and services through a standardized protocol, making assistants more useful and more capable.