Discover Awesome MCP Servers

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

All84,517
HomeHarvest MCP Server

HomeHarvest MCP Server

An MCP server built with Smithery that provides a foundation for real estate data harvesting capabilities. Currently includes example functionality for testing and development purposes.

kernl

kernl

A self-hosted MCP server that provides any LLM with a graph-backed memory layer of your life—tasks, email, finance, contacts, calendar—plus autonomous agent offices that act on your behalf.

Voxtral TTS MCP Server

Voxtral TTS MCP Server

Provides access to Voxtral TTS voice and TTS workflows, FAQ, and official links via MCP. Enables AI clients to retrieve supported voices, languages, and TTS configuration without API keys.

mnemo

mnemo

Provides portable memory for AI agents using plain Markdown files. Enables storing, recalling, and managing memories via MCP tools like recall, remember, forget, list, and get.

Mermaid Chart MCP

Mermaid Chart MCP

A powerful Model Context Protocol server that automatically generates Mermaid diagrams from code and provides SVG beautification features.

CLP MCP Server

CLP MCP Server

An MCP server implementation that allows Claude to read and process CLP (Compact Log Protocol) files, supporting both stdio and SSE/HTTP communication methods.

jamovi MCP

jamovi MCP

MCP server for controlling jamovi from MCP clients. It starts a local jamovi engine process and exposes tools for opening datasets, reading/writing data, running analyses, exporting results, and saving .omv files.

mcp-watermark

mcp-watermark

MCP server for adding text and image watermarks to PDF documents, with customizable font size, color, opacity, rotation, and scale, plus PDF preview functionality.

Nuxt MCP

Nuxt MCP

Un servidor que ayuda a los modelos de IA a comprender mejor las aplicaciones Vite/Nuxt, proporcionando una mayor conciencia del contexto para el soporte al desarrollo.

talktoplanb-mcp

talktoplanb-mcp

Lets AI assistants list chat rooms, read messages, and send messages on TalkToPlanB, a self-hosted WhatsApp-alternative messenger.

teadata-mcp

teadata-mcp

MCP server for exploring Texas public school data through conversational interfaces, enabling campus search, district details, geospatial lookup, comparisons, and transfer insights using TEA data.

storybook-mcp

storybook-mcp

A Model Context Protocol (MCP) server for Storybook.

eDistrict Odisha ServicePlus MCP Server

eDistrict Odisha ServicePlus MCP Server

An MCP Server that enables interaction with Odisha's eDistrict services through the API Setu interface, allowing users to access and utilize Odisha government digital services through natural language.

yop-mcp

yop-mcp

yop-mcp 是一个专为易宝支付开放平台(YOP)设计的 MCP (Model Context Protocol) Server,提供了一套完整的工具函数,帮助开发者通过AI助手(如Claude、Cursor等)更便捷地获取YOP平台的相关信息、生成密钥对、下载证书等操作。

mcp-ledger-server

mcp-ledger-server

Exposes a ledger system (invoice queue, duplicate control, VAT register, contractor history, decision journal) as MCP tools for AI agents, enabling accurate invoice processing with deterministic validation.

geeknews-mcp-server

geeknews-mcp-server

Este proyecto es un servidor de Protocolo de Contexto de Modelo (MCP) que obtiene artículos de GeekNews. Está implementado en Python y realiza web scraping utilizando BeautifulSoup.

gha-doctor

gha-doctor

CI health reports for GitHub Actions: flaky tests named from logs, wasted compute priced in dollars, zombie crons, PR feedback time, plus 21 lint rules with safe auto-fixes. Read-only MCP tools wrap the same Go binary.

BoligWatch MCP Server

BoligWatch MCP Server

Monitors boligportal.dk for new rental listings in Denmark. Provides tools to search, filter, and track apartment listings via natural language.

MSSQL Database Connector

MSSQL Database Connector

Un servidor de Protocolo de Contexto de Modelo que permite ejecutar consultas SQL y administrar conexiones con bases de datos de Microsoft SQL Server.

Garmin MCP

Garmin MCP

Local-first MCP server that connects AI agents to your Garmin sleep, HRV, Body Battery, stress, training readiness and activities, keeping tokens on your machine.

hypervault-mcp

hypervault-mcp

MCP server for HyperVault that lets any MCP-capable agent save artifacts to a user's vault and claim vanity subdomains.

rpcedge-mcp

rpcedge-mcp

Provides Solana RPC tools for agents to check health, estimate priority fees, sample Yellowstone gRPC, and submit signed transactions via the rpc edge relay.

🔒 Minimal GitHub OAuth-enabled MCP Server

🔒 Minimal GitHub OAuth-enabled MCP Server

Claro, aquí tienes una demostración rápida de un servidor MCP (Minecraft Protocol) que utiliza GitHub OAuth para autenticar usuarios. Ten en cuenta que esto es un ejemplo simplificado y requerirá ajustes para un uso en producción. **Conceptos Clave:** * **MCP (Minecraft Protocol):** El protocolo de comunicación entre el cliente de Minecraft y el servidor. * **GitHub OAuth:** Un mecanismo para permitir que los usuarios se autentiquen en tu servidor utilizando sus cuentas de GitHub. * **UUID (Universally Unique Identifier):** Un identificador único para cada jugador. Minecraft utiliza UUIDs para identificar a los jugadores de forma consistente. **Advertencia:** Este código es un ejemplo simplificado y no está listo para producción. Necesitarás implementar manejo de errores, seguridad robusta y persistencia de datos. **Pasos Generales:** 1. **Registrar una Aplicación OAuth en GitHub:** * Ve a [https://github.com/settings/developers](https://github.com/settings/developers) * Haz clic en "New OAuth App". * Completa los detalles: * **Application name:** Un nombre para tu aplicación (ej. "Mi Servidor Minecraft"). * **Homepage URL:** La URL de tu servidor o sitio web. * **Authorization callback URL:** La URL a la que GitHub redirigirá al usuario después de la autorización. Por ejemplo: `http://tu-servidor.com/auth/github/callback` (reemplaza con tu URL real). * Obtén el **Client ID** y el **Client Secret**. Guarda estos valores de forma segura. 2. **Estructura del Proyecto (Ejemplo en Python):** ``` mi_servidor_mcp/ ├── server.py # Lógica principal del servidor ├── auth.py # Manejo de la autenticación OAuth └── config.py # Archivo de configuración ``` 3. **Archivo `config.py`:** ```python GITHUB_CLIENT_ID = "TU_CLIENT_ID" # Reemplaza con tu Client ID de GitHub GITHUB_CLIENT_SECRET = "TU_CLIENT_SECRET" # Reemplaza con tu Client Secret de GitHub GITHUB_CALLBACK_URL = "http://tu-servidor.com/auth/github/callback" # Reemplaza con tu URL de callback SERVER_PORT = 25565 # Puerto del servidor Minecraft ``` 4. **Archivo `auth.py` (Manejo de Autenticación OAuth):** ```python import requests import config def get_github_access_token(code): """Obtiene el token de acceso de GitHub usando el código de autorización.""" data = { 'client_id': config.GITHUB_CLIENT_ID, 'client_secret': config.GITHUB_CLIENT_SECRET, 'code': code } headers = {'Accept': 'application/json'} response = requests.post('https://github.com/login/oauth/access_token', data=data, headers=headers) response.raise_for_status() # Lanza una excepción si hay un error return response.json().get('access_token') def get_github_user_info(access_token): """Obtiene la información del usuario de GitHub usando el token de acceso.""" headers = {'Authorization': f'token {access_token}'} response = requests.get('https://api.github.com/user', headers=headers) response.raise_for_status() return response.json() def get_minecraft_uuid(username): """Obtiene el UUID de Minecraft para un nombre de usuario.""" response = requests.get(f'https://api.mojang.com/users/profiles/minecraft/{username}') if response.status_code == 200: return response.json().get('id') else: return None ``` 5. **Archivo `server.py` (Ejemplo Simplificado del Servidor):** ```python import socket import threading import auth import config import uuid # Para generar UUIDs si no se encuentra el usuario en Mojang def handle_client(client_socket): """Maneja la conexión de un cliente.""" try: # Simulación de la recepción de un "código" de GitHub (en la realidad, esto vendría de la URL de callback) # **IMPORTANTE:** En un escenario real, el cliente (Minecraft) *no* interactúa directamente con GitHub. # El flujo sería: # 1. El usuario hace clic en un enlace en el juego que lo redirige a GitHub para la autorización. # 2. GitHub redirige al usuario de vuelta a *tu servidor web* (la callback URL). # 3. *Tu servidor web* recibe el código de autorización. # 4. *Tu servidor web* usa el código para obtener el token de acceso de GitHub. # 5. *Tu servidor web* usa el token de acceso para obtener la información del usuario de GitHub. # 6. *Tu servidor web* envía la información del usuario (o un token de sesión) al cliente de Minecraft. # **ESTO ES SOLO UNA SIMULACIÓN PARA DEMOSTRAR EL CONCEPTO:** github_auth_code = "SIMULATED_GITHUB_AUTH_CODE" # Reemplaza con el código real obtenido del callback # Obtener el token de acceso de GitHub access_token = auth.get_github_access_token(github_auth_code) # Obtener la información del usuario de GitHub user_info = auth.get_github_user_info(access_token) github_username = user_info.get('login') # Obtener el UUID de Minecraft minecraft_uuid = auth.get_minecraft_uuid(github_username) if minecraft_uuid: print(f"Usuario {github_username} autenticado con UUID: {minecraft_uuid}") client_socket.send(f"Autenticado con UUID: {minecraft_uuid}\n".encode()) else: # Si el usuario de GitHub no tiene una cuenta de Minecraft asociada con el mismo nombre, # puedes generar un UUID aleatorio (NO RECOMENDADO para producción, ya que no es persistente). # En un escenario real, deberías tener un sistema para vincular cuentas de GitHub a cuentas de Minecraft. new_uuid = str(uuid.uuid4()) print(f"Usuario {github_username} no encontrado en Mojang. Generando UUID temporal: {new_uuid}") client_socket.send(f"Usuario no encontrado. UUID temporal: {new_uuid}\n".encode()) client_socket.close() except Exception as e: print(f"Error al manejar el cliente: {e}") client_socket.close() def start_server(): """Inicia el servidor.""" server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_address = ('localhost', config.SERVER_PORT) server_socket.bind(server_address) server_socket.listen(5) print(f"Servidor escuchando en {server_address}") while True: client_socket, client_address = server_socket.accept() print(f"Conexión de {client_address}") client_thread = threading.Thread(target=handle_client, args=(client_socket,)) client_thread.start() if __name__ == "__main__": start_server() ``` **Explicación:** * **`config.py`:** Almacena la configuración, incluyendo las credenciales de GitHub OAuth. **Nunca subas este archivo a un repositorio público con tus credenciales reales.** * **`auth.py`:** * `get_github_access_token(code)`: Intercambia el código de autorización (obtenido después de que el usuario autoriza tu aplicación en GitHub) por un token de acceso. * `get_github_user_info(access_token)`: Utiliza el token de acceso para obtener información del usuario de GitHub (como su nombre de usuario). * `get_minecraft_uuid(username)`: Busca el UUID de Minecraft asociado con el nombre de usuario de GitHub. Esto asume que el nombre de usuario de GitHub es el mismo que el nombre de usuario de Minecraft. * **`server.py`:** * `handle_client(client_socket)`: Maneja la conexión de un cliente. **Este es el punto donde la simulación de GitHub OAuth ocurre.** En un escenario real, este código recibiría un token de sesión o información del usuario de un servidor web que ya ha completado el flujo de OAuth. * `start_server()`: Inicia el servidor de socket. **Cómo Ejecutar:** 1. **Instala las dependencias:** ```bash pip install requests ``` 2. **Reemplaza los valores en `config.py`** con tu Client ID, Client Secret y Callback URL de GitHub. 3. **Ejecuta `server.py`:** ```bash python server.py ``` **Limitaciones y Mejoras:** * **Simulación de OAuth:** El código `server.py` simula el flujo de OAuth. En un escenario real, necesitarás un servidor web (ej. usando Flask o Django) para manejar el callback de GitHub y la comunicación con el cliente de Minecraft. * **Seguridad:** Este código es *extremadamente* básico en términos de seguridad. Necesitarás implementar medidas de seguridad robustas, como: * Validación de entradas. * Protección contra ataques de inyección. * Almacenamiento seguro de credenciales. * Uso de HTTPS. * **Persistencia de Datos:** El UUID generado si el usuario no se encuentra en Mojang es temporal. Necesitarás una base de datos para almacenar la información del usuario y los UUIDs de forma persistente. * **Manejo de Errores:** El manejo de errores es muy básico. Necesitas implementar un manejo de errores más robusto. * **Comunicación con el Cliente de Minecraft:** Este ejemplo solo envía un mensaje de texto al cliente. Necesitarás implementar el protocolo MCP completo para comunicarte correctamente con el cliente de Minecraft. * **Vinculación de Cuentas:** La suposición de que el nombre de usuario de GitHub es el mismo que el nombre de usuario de Minecraft es poco realista. Necesitarás un sistema para que los usuarios vinculen sus cuentas de GitHub a sus cuentas de Minecraft. **Flujo de Autenticación Real (Esquema):** 1. **El usuario se conecta al servidor de Minecraft.** 2. **El servidor de Minecraft envía un mensaje al cliente pidiéndole que se autentique.** Este mensaje podría incluir un enlace a la página de autorización de GitHub. 3. **El usuario hace clic en el enlace y es redirigido a GitHub.** 4. **El usuario autoriza tu aplicación en GitHub.** 5. **GitHub redirige al usuario de vuelta a tu servidor web (la callback URL).** 6. **Tu servidor web recibe el código de autorización.** 7. **Tu servidor web usa el código para obtener el token de acceso de GitHub.** 8. **Tu servidor web usa el token de acceso para obtener la información del usuario de GitHub.** 9. **Tu servidor web vincula la cuenta de GitHub a una cuenta de Minecraft (si es necesario).** 10. **Tu servidor web genera un token de sesión y lo envía al cliente de Minecraft.** 11. **El cliente de Minecraft envía el token de sesión al servidor de Minecraft.** 12. **El servidor de Minecraft valida el token de sesión y permite que el usuario juegue.** Este ejemplo te da un punto de partida. La implementación completa de un sistema de autenticación con GitHub OAuth para un servidor de Minecraft es un proyecto más complejo que requiere un servidor web y un conocimiento profundo del protocolo MCP.

MCP OmniFocus

MCP OmniFocus

A Model Context Protocol server that enables automation and management of OmniFocus tasks, projects, and tags using natural language and programmable interfaces from VS Code, command line, or any MCP-compatible client.

Langfuse Trace Fetcher

Langfuse Trace Fetcher

Fetches Langfuse observability traces directly into a VS Code coding agent's context, enabling querying and viewing trace data through natural language.

dev-mcp

dev-mcp

Turns AI assistants into active Technical Project Managers by providing a persistent project brain and workflow tools for onboarding, session management, and code verification.

MCP Parking Server

MCP Parking Server

A read-only MCP server for querying parking management systems using natural language and secure SQL. It enables searching for parking locations, retrieving billing configurations, and understanding database schemas through business context tools.

claude-garmin

claude-garmin

MCP server that connects Garmin Connect data to Claude, enabling training analysis, recovery checks, and personalized plans based on real metrics like HRV, training load, and activities.

mcp-rubber-duck

mcp-rubber-duck

An MCP server that acts as a bridge to query multiple OpenAI-compatible LLMs with MCP tool access. Just like rubber duck debugging, explain your problems to various AI "ducks" who can actually research and get different perspectives!

Fetch MCP Server

Fetch MCP Server

Proporciona funcionalidad para obtener contenido web en varios formatos, incluyendo HTML, JSON, texto plano y Markdown.