Discover Awesome MCP Servers

Extend your agent with 84,517 capabilities via MCP servers.

All84,517
h3c-hcl-mcp

h3c-hcl-mcp

Enables AI agents to interact with local H3C Cloud Lab network simulation environments, allowing discovery of projects, devices, and links, as well as execution of Comware CLI commands.

tick-mcp

tick-mcp

Enables AI assistants to manage TickTick tasks, projects, habits, tags, and focus stats using 71 tools via the Model Context Protocol.

scanner-mcp

scanner-mcp

Enables scanning documents via network (eSCL) or USB (WIA/SANE) scanners, returning inline images, OCR text, or saved PDFs for Claude to read.

MCPing

MCPing

Enables AI assistants to send desktop notifications on macOS with rich formatting, urgency levels, and sound options.

Bitso MCP Server

Bitso MCP Server

Enables interaction with the Bitso cryptocurrency exchange API to access withdrawals and fundings data. Provides comprehensive tools for listing, filtering, and retrieving withdrawal and funding transactions with proper authentication and error handling.

chatmux

chatmux

Local-first MCP server that puts your own LINE and Telegram chats behind one data layer — a daemon on your machine logs in with your own account, stores messages to JSONL + SQLite/FTS5, and exposes 6 MCP tools over streamable HTTP on 127.0.0.1. Not a hosted service and not an npx one-liner: you clone the repo, run the daemon, and log in yourself.

MCP Bridge

MCP Bridge

一个动态MCP服务桥接器,支持通过Web UI或API动态注册MCP能力,实现MCP Client与前端之间的双向通信。

thread-storm

thread-storm

MCP server for publishing threads to Threads and Twitter/X simultaneously from Claude Code. Journal your thoughts, convert them to viral threads, and post everywhere at once.

gworkspace-mcp

gworkspace-mcp

A production-ready MCP server that gives AI assistants full, authenticated access to the entire Google Workspace ecosystem.

My Awesome MCP

My Awesome MCP

A basic MCP server built with FastMCP framework that provides example tools including message echoing and server information retrieval. Supports both stdio and HTTP transports with Docker deployment capabilities.

Kintone Book Management MCP Tool

Kintone Book Management MCP Tool

A Model Context Protocol (MCP) server that provides a tool for retrieving and managing book information from a Kintone database application.

my-mcp-server

my-mcp-server

A TypeScript MCP server boilerplate with Streamable HTTP support, providing tools for greeting, calculation, time, geocoding, weather, and image generation, plus a server-info resource and code-review prompt.

EDINET DB MCP Server

EDINET DB MCP Server

Structured financial data for ~3,800 Japanese listed companies from EDINET regulatory filings — financials, major shareholders, segments, executive compensation, and corporate history. Remote MCP over HTTPS with OAuth 2.0, free tier.

NIH Research MCP Demo

NIH Research MCP Demo

Enables interaction with synthetic NIH-style clinical research data through tools for searching publications, querying patient metadata, analyzing AAA measurements, and retrieving protocol guidance.

MCP Server Implementation Guide

MCP Server Implementation Guide

## Guia e Implementação para Criar seu Próprio Servidor MCP (Model Control Protocol) para Integração com o Cursor Este guia detalha como criar seu próprio servidor MCP (Model Control Protocol) para integrar com o Cursor, permitindo que você controle modelos de linguagem personalizados ou serviços externos diretamente do seu editor de código. **O que é o MCP (Model Control Protocol)?** O MCP é um protocolo de comunicação leve e flexível projetado para facilitar a interação entre o Cursor e modelos de linguagem externos. Ele permite que o Cursor envie solicitações (como completar código, gerar documentação ou refatorar código) para um servidor externo, que processa a solicitação e retorna uma resposta. **Por que criar seu próprio servidor MCP?** * **Integração com Modelos Personalizados:** Use seus próprios modelos de linguagem treinados ou serviços de terceiros que não são suportados nativamente pelo Cursor. * **Controle Total:** Tenha controle total sobre o processamento das solicitações e a lógica de resposta. * **Personalização:** Adapte o comportamento do Cursor para atender às suas necessidades específicas de desenvolvimento. * **Experimentação:** Explore novas funcionalidades e integrações com modelos de linguagem. **Passo 1: Escolha uma Linguagem de Programação e Framework** Você pode usar qualquer linguagem de programação para criar seu servidor MCP. Algumas opções populares incluem: * **Python:** Com frameworks como Flask ou FastAPI, é fácil criar um servidor web simples e eficiente. * **Node.js:** Com Express.js, você pode criar um servidor web escalável e de alto desempenho. * **Go:** Oferece excelente desempenho e concorrência, ideal para servidores de alta carga. Para este guia, usaremos **Python com FastAPI** como exemplo, devido à sua simplicidade e facilidade de uso. **Passo 2: Instale as Dependências** Crie um ambiente virtual (recomendado) e instale as dependências necessárias: ```bash python3 -m venv .venv source .venv/bin/activate # No Linux/macOS .venv\Scripts\activate # No Windows pip install fastapi uvicorn ``` **Passo 3: Defina a Estrutura do Servidor MCP** Um servidor MCP básico precisa de um endpoint para receber as solicitações do Cursor. Este endpoint geralmente usa o método `POST` e recebe um payload JSON contendo informações sobre a solicitação. Crie um arquivo chamado `main.py` com o seguinte conteúdo: ```python from fastapi import FastAPI, Request, HTTPException from pydantic import BaseModel from typing import Optional app = FastAPI() class MCPRequest(BaseModel): prompt: str language: str context: Optional[str] = None # Adicione outros campos relevantes para sua implementação class MCPResponse(BaseModel): completion: str # Adicione outros campos relevantes para sua implementação @app.post("/mcp") async def handle_mcp_request(request: MCPRequest): """ Endpoint para receber solicitações do Cursor. """ try: # 1. Extrair informações da solicitação prompt = request.prompt language = request.language context = request.context # 2. Processar a solicitação (substitua com sua lógica) # Aqui você integraria com seu modelo de linguagem # Exemplo: completion = f"// Completion for: {prompt} in {language} with context: {context}" # 3. Criar a resposta response = MCPResponse(completion=completion) return response except Exception as e: raise HTTPException(status_code=500, detail=str(e)) ``` **Explicação do Código:** * **`MCPRequest`:** Define a estrutura dos dados esperados na solicitação do Cursor. `prompt` é o texto a ser completado, `language` é a linguagem de programação e `context` pode conter informações adicionais sobre o código ao redor do cursor. Adapte esta classe para incluir todos os campos que seu modelo precisa. * **`MCPResponse`:** Define a estrutura da resposta que o servidor enviará de volta ao Cursor. `completion` é o texto gerado pelo modelo. Adicione outros campos conforme necessário (por exemplo, sugestões de código, documentação, etc.). * **`/mcp` endpoint:** Este é o endpoint que o Cursor usará para enviar solicitações. Ele recebe um objeto `MCPRequest`, processa a solicitação (neste exemplo, apenas cria uma string de exemplo) e retorna um objeto `MCPResponse`. * **Tratamento de Erros:** O bloco `try...except` garante que erros inesperados sejam capturados e retornados ao Cursor com um código de status HTTP 500. **Passo 4: Implemente a Lógica de Processamento da Solicitação** A parte mais importante é substituir o comentário `# 2. Processar a solicitação` com a lógica real para interagir com seu modelo de linguagem. Isso pode envolver: * **Carregar seu modelo de linguagem:** Se você estiver usando um modelo treinado localmente, carregue-o na memória. * **Pré-processar o prompt:** Prepare o prompt para ser usado pelo seu modelo (por exemplo, tokenização, embedding). * **Chamar seu modelo:** Envie o prompt para seu modelo e obtenha a resposta. * **Pós-processar a resposta:** Formate a resposta do modelo para ser usada pelo Cursor. **Exemplo de Integração com um Modelo de Linguagem (Hipotético):** ```python # ... (código anterior) @app.post("/mcp") async def handle_mcp_request(request: MCPRequest): try: prompt = request.prompt language = request.language context = request.context # Supondo que você tenha um objeto 'model' carregado # e uma função 'generate_completion' que recebe o prompt e retorna a completion completion = model.generate_completion(prompt, language, context) response = MCPResponse(completion=completion) return response except Exception as e: raise HTTPException(status_code=500, detail=str(e)) # ... (código posterior) ``` **Passo 5: Execute o Servidor MCP** Use Uvicorn para executar o servidor: ```bash uvicorn main:app --reload ``` Isso iniciará o servidor na porta 8000 (por padrão). Você verá uma mensagem como: ``` INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit) ``` **Passo 6: Configure o Cursor para Usar seu Servidor MCP** 1. **Abra as configurações do Cursor:** Vá para `File` -> `Preferences` -> `Settings`. 2. **Procure por "Model Control Protocol":** Digite "mcp" na barra de pesquisa. 3. **Configure as seguintes opções:** * **`Model Control Protocol: Enabled`:** Marque esta caixa para habilitar o MCP. * **`Model Control Protocol: Server URL`:** Insira a URL do seu servidor MCP (por exemplo, `http://127.0.0.1:8000/mcp`). * **`Model Control Protocol: API Key` (Opcional):** Se seu servidor MCP requer autenticação, insira a chave API aqui. Você precisará adicionar a lógica de autenticação ao seu servidor. * **`Model Control Protocol: Timeout` (Opcional):** Defina o tempo limite para as solicitações ao servidor. **Passo 7: Teste a Integração** Abra um arquivo de código no Cursor e comece a digitar. O Cursor deve enviar solicitações para seu servidor MCP e usar as respostas para completar o código. **Considerações Adicionais:** * **Autenticação:** Se você estiver expondo seu servidor MCP para a internet, implemente autenticação para proteger seu modelo de linguagem. Você pode usar chaves API, tokens JWT ou outros métodos de autenticação. * **Escalabilidade:** Se você espera um grande volume de solicitações, considere usar um framework de servidor mais escalável e um banco de dados para armazenar informações sobre os usuários e seus modelos. * **Logging:** Implemente logging para rastrear as solicitações e respostas do servidor, o que pode ser útil para depuração e monitoramento. * **Tratamento de Erros:** Implemente um tratamento de erros robusto para lidar com erros inesperados e retornar mensagens de erro informativas ao Cursor. * **Documentação:** Documente seu servidor MCP para que outros desenvolvedores possam usá-lo e integrá-lo com o Cursor. * **Segurança:** Certifique-se de que seu servidor MCP seja seguro e proteja seus dados contra acesso não autorizado. Use HTTPS para criptografar a comunicação entre o Cursor e o servidor. **Exemplo Completo (com autenticação básica):** ```python from fastapi import FastAPI, Request, HTTPException, Depends from fastapi.security import HTTPBasic, HTTPBasicCredentials from pydantic import BaseModel from typing import Optional from starlette import status app = FastAPI() security = HTTPBasic() class MCPRequest(BaseModel): prompt: str language: str context: Optional[str] = None class MCPResponse(BaseModel): completion: str # Substitua com suas credenciais reais USERS = { "user": "password" } def authenticate_user(credentials: HTTPBasicCredentials = Depends(security)): user = USERS.get(credentials.username) if user is None or user != credentials.password: raise HTTPException( status_code=status.HTTP_401_UNAUTHORIZED, detail="Incorrect username or password", headers={"WWW-Authenticate": "Basic"}, ) return credentials.username @app.post("/mcp") async def handle_mcp_request(request: MCPRequest, username: str = Depends(authenticate_user)): try: prompt = request.prompt language = request.language context = request.context # Aqui você integraria com seu modelo de linguagem completion = f"// Completion for: {prompt} in {language} by {username}" response = MCPResponse(completion=completion) return response except Exception as e: raise HTTPException(status_code=500, detail=str(e)) ``` **Para executar este exemplo com autenticação:** 1. Instale as dependências: `pip install fastapi uvicorn python-multipart` 2. Execute o servidor: `uvicorn main:app --reload` 3. No Cursor, configure o "Model Control Protocol: Server URL" para `http://127.0.0.1:8000/mcp`. 4. No Cursor, configure o "Model Control Protocol: API Key" para `user:password` (substitua com as credenciais definidas em `USERS`). O Cursor usará a autenticação Basic HTTP para enviar as credenciais. Este guia fornece um ponto de partida para criar seu próprio servidor MCP para integração com o Cursor. Adapte o código e as configurações para atender às suas necessidades específicas e explore as possibilidades de integração com modelos de linguagem personalizados. Lembre-se de priorizar a segurança e a escalabilidade ao implementar seu servidor MCP.

ps-mcp

ps-mcp

An MCP server for PowerSchool plugin developers, providing read/write access to plugin workspaces, scaffolding, validation, packaging, and access to the PS data model, tag reference, and documentation.

ultra-confluence-mcp

ultra-confluence-mcp

A Model Context Protocol server for Confluence Cloud that aggressively trims API responses to reduce token usage, with features like disk offload and tunable tool surface.

SagaSmith D&D MCP

SagaSmith D&D MCP

A local MCP server for Dungeons & Dragons campaign management, combining core runtime with skill and module-generation packs. It enables campaign creation, module generation and import, rule and skill searching via tools, resources, and prompts.

astro-cosmic-weather-mcp

astro-cosmic-weather-mcp

An MCP server that provides live astronomical ephemeris data (moon phases, zodiac transits, Mercury retrogrades, sabbats, and more) via the Moon Ritual Library API, enabling Claude and other agents to answer cosmic-weather questions with accurate, server-computed calculations.

ICF MCP Server (Cloudflare Workers)

ICF MCP Server (Cloudflare Workers)

MCP server for the WHO International Classification of Functioning, Disability and Health (ICF) with tools for code lookup, search, and clinical instrument scoring, deployed on Cloudflare Workers.

random-mcp-server

random-mcp-server

An MCP server that returns random JSON things — people, words, values, coordinates, and an always-empty list.

Terragrunt MCP Server

Terragrunt MCP Server

Provides comprehensive Terragrunt documentation, configuration generation, and tooling integration for AI assistants, enabling intelligent assistance with Terragrunt configurations, CLI commands, and HCL syntax.

Deep Research MCP

Deep Research MCP

A Model Context Protocol compliant server that facilitates comprehensive web research by utilizing Tavily's Search and Crawl APIs to gather and structure data for high-quality markdown document creation.

Jina AI Remote MCP Server

Jina AI Remote MCP Server

Provides web content extraction, search capabilities (web, arXiv, SSRN, images), semantic deduplication, and reranking through Jina AI's Reader, Embeddings, and Reranker APIs.

web-search

web-search

Enables web searching using Google search results with no API keys required.

Backup AI MCP

Backup AI MCP

Backup AI - MCP server providing AI-powered tools and automation by MEOK AI Labs

College Basketball Stats MCP Server

College Basketball Stats MCP Server

An MCP server for accessing college basketball statistics through the SportsData.io CBB v3 Stats API, enabling AI agents to retrieve and analyze college basketball data through natural language interactions.

Diffblue Cover MCP Server

Diffblue Cover MCP Server

Enables AI development environments to call the Diffblue Cover CLI tool to automatically generate unit tests for Java code.

Weather-server MCP Server

Weather-server MCP Server

A TypeScript-based MCP server that provides weather information through resources and tools, allowing users to access current weather data and forecast predictions for different cities.

standup-reminder

standup-reminder

This MCP server integrates with a Windows tray app that reminds users to take breaks, providing tools to query status, start breaks, snooze reminders, pause reminders, view daily stats and summaries, update settings, and acknowledge reminders via stdio over a named pipe.