Discover Awesome MCP Servers

Extend your agent with 12,708 capabilities via MCP servers.

All12,708
Google Search Console MCP Server

Google Search Console MCP Server

DNSDumpster - MCP Server

DNSDumpster - MCP Server

Servidor MCP para o Serviço DNSDumpster

Media MCP Server

Media MCP Server

Solana Agent Kit MCP Server

Solana Agent Kit MCP Server

@shortcut/mcp

@shortcut/mcp

The MCP server for Shortcut

MCP Terminal Server - Windows Setup

MCP Terminal Server - Windows Setup

Everything MCP Server

Everything MCP Server

An MCP server implementation providing system-wide functionality including file operations, HTTP requests, and command execution

MCP Server

MCP Server

testing MCP server implementation

LinkedInMCP: Revolutionizing LinkedIn API Interactions

LinkedInMCP: Revolutionizing LinkedIn API Interactions

Model Context Protocol (MCP) server for LinkedIn API integration

Standardizing LLM Interaction with MCP Servers

Standardizing LLM Interaction with MCP Servers

Here's a short and sweet example of a basic MCP (Minecraft Protocol) server/client implementation focusing on tools, resources, and prompts. This is a simplified example and doesn't cover all the complexities of the actual Minecraft protocol. It's meant to illustrate the core concepts. **Important Considerations:** * **MCP Version:** This example is highly simplified and doesn't adhere to a specific MCP version. Real-world implementations require careful adherence to the correct MCP version and its associated mappings. * **Security:** This example lacks any security measures. Real-world Minecraft servers and clients require robust security to prevent exploits. * **Error Handling:** Error handling is minimal for brevity. Production code needs comprehensive error handling. * **Threading:** This example is single-threaded. Real-world servers need to be multi-threaded to handle multiple clients concurrently. * **Data Types:** Minecraft uses specific data types (e.g., VarInt, VarLong). This example uses simpler Python types for clarity. * **Libraries:** This example uses the standard `socket` library. More sophisticated implementations might use libraries like `struct` for packing/unpacking data. **Server (Python): `mcp_server.py`** ```python import socket HOST = '127.0.0.1' # Standard loopback interface address (localhost) PORT = 25565 # Port to listen on (non-privileged ports are > 1023) def handle_client(conn, addr): print(f"Connected by {addr}") while True: data = conn.recv(1024) if not data: break message = data.decode('utf-8').strip() print(f"Received: {message}") if message == "request_tools": tools = ["Pickaxe", "Axe", "Shovel"] response = "Tools: " + ", ".join(tools) conn.sendall(response.encode('utf-8')) elif message == "request_resources": resources = ["Wood", "Stone", "Iron"] response = "Resources: " + ", ".join(resources) conn.sendall(response.encode('utf-8')) elif message == "prompt_name": response = "Please enter your name:" conn.sendall(response.encode('utf-8')) name = conn.recv(1024).decode('utf-8').strip() response = f"Hello, {name}!" conn.sendall(response.encode('utf-8')) else: response = "Unknown command." conn.sendall(response.encode('utf-8')) print(f"Connection closed by {addr}") conn.close() with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.bind((HOST, PORT)) s.listen() print(f"Listening on {HOST}:{PORT}") conn, addr = s.accept() handle_client(conn, addr) ``` **Client (Python): `mcp_client.py`** ```python import socket HOST = '127.0.0.1' # The server's hostname or IP address PORT = 25565 # The port used by the server with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.connect((HOST, PORT)) # Request tools s.sendall(b"request_tools") data = s.recv(1024) print(f"Received: {data.decode('utf-8')}") # Request resources s.sendall(b"request_resources") data = s.recv(1024) print(f"Received: {data.decode('utf-8')}") # Prompt for name s.sendall(b"prompt_name") data = s.recv(1024) print(f"Received: {data.decode('utf-8')}") name = input("Enter your name: ") s.sendall(name.encode('utf-8')) data = s.recv(1024) print(f"Received: {data.decode('utf-8')}") print("Client finished.") ``` **How to Run:** 1. **Save:** Save the code as `mcp_server.py` and `mcp_client.py`. 2. **Run the Server:** Open a terminal and run `python mcp_server.py`. 3. **Run the Client:** Open another terminal and run `python mcp_client.py`. 4. **Interact:** The client will connect to the server, request tools and resources, and prompt you for your name. Enter your name in the client terminal. **Explanation:** * **Server:** * Listens for incoming connections on a specific port. * Accepts a connection from a client. * Receives data (commands) from the client. * Processes the commands (e.g., `request_tools`, `request_resources`, `prompt_name`). * Sends a response back to the client. * Closes the connection. * **Client:** * Connects to the server. * Sends commands to the server. * Receives responses from the server. * Prints the responses to the console. * Prompts the user for input (name). * Sends the user's input to the server. * Closes the connection. **Key Improvements for a Real Implementation:** * **MCP Packet Structure:** Use the correct MCP packet structure (packet ID, data fields, etc.). * **Data Serialization/Deserialization:** Use `struct` or a similar library to pack and unpack data according to the MCP specification. * **State Management:** Maintain state information about the client (e.g., player inventory, location). * **Threading:** Use threads or asynchronous programming to handle multiple clients concurrently. * **Error Handling:** Implement robust error handling to gracefully handle unexpected events. * **Security:** Implement authentication and encryption to protect against unauthorized access and eavesdropping. * **World Representation:** Implement a representation of the Minecraft world (chunks, blocks, entities). * **Game Logic:** Implement the core game logic (e.g., player movement, block breaking, item crafting). This example provides a basic foundation for understanding how a simple MCP server and client can communicate. Building a full-fledged Minecraft server requires significantly more effort and a deep understanding of the Minecraft protocol. ```output Aqui está um exemplo curto e direto de uma implementação básica de servidor/cliente MCP (Minecraft Protocol) focada em ferramentas, recursos e prompts. Este é um exemplo simplificado e não cobre todas as complexidades do protocolo Minecraft real. Destina-se a ilustrar os conceitos principais. **Considerações Importantes:** * **Versão MCP:** Este exemplo é altamente simplificado e não adere a uma versão MCP específica. As implementações do mundo real exigem adesão cuidadosa à versão MCP correta e seus mapeamentos associados. * **Segurança:** Este exemplo não possui nenhuma medida de segurança. Os servidores e clientes Minecraft do mundo real exigem segurança robusta para evitar exploits. * **Tratamento de Erros:** O tratamento de erros é mínimo por brevidade. O código de produção precisa de tratamento de erros abrangente. * **Threading:** Este exemplo é single-threaded. Os servidores do mundo real precisam ser multi-threaded para lidar com vários clientes simultaneamente. * **Tipos de Dados:** Minecraft usa tipos de dados específicos (por exemplo, VarInt, VarLong). Este exemplo usa tipos Python mais simples para clareza. * **Bibliotecas:** Este exemplo usa a biblioteca `socket` padrão. Implementações mais sofisticadas podem usar bibliotecas como `struct` para empacotar/desempacotar dados. **Servidor (Python): `mcp_server.py`** ```python import socket HOST = '127.0.0.1' # Endereço de interface de loopback padrão (localhost) PORT = 25565 # Porta para escutar (portas não privilegiadas são > 1023) def handle_client(conn, addr): print(f"Conectado por {addr}") while True: data = conn.recv(1024) if not data: break message = data.decode('utf-8').strip() print(f"Recebido: {message}") if message == "request_tools": tools = ["Picareta", "Machado", "Pá"] response = "Ferramentas: " + ", ".join(tools) conn.sendall(response.encode('utf-8')) elif message == "request_resources": resources = ["Madeira", "Pedra", "Ferro"] response = "Recursos: " + ", ".join(resources) conn.sendall(response.encode('utf-8')) elif message == "prompt_name": response = "Por favor, insira seu nome:" conn.sendall(response.encode('utf-8')) name = conn.recv(1024).decode('utf-8').strip() response = f"Olá, {name}!" conn.sendall(response.encode('utf-8')) else: response = "Comando desconhecido." conn.sendall(response.encode('utf-8')) print(f"Conexão fechada por {addr}") conn.close() with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.bind((HOST, PORT)) s.listen() print(f"Escutando em {HOST}:{PORT}") conn, addr = s.accept() handle_client(conn, addr) ``` **Cliente (Python): `mcp_client.py`** ```python import socket HOST = '127.0.0.1' # O nome do host ou endereço IP do servidor PORT = 25565 # A porta usada pelo servidor with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.connect((HOST, PORT)) # Solicitar ferramentas s.sendall(b"request_tools") data = s.recv(1024) print(f"Recebido: {data.decode('utf-8')}") # Solicitar recursos s.sendall(b"request_resources") data = s.recv(1024) print(f"Recebido: {data.decode('utf-8')}") # Solicitar nome s.sendall(b"prompt_name") data = s.recv(1024) print(f"Recebido: {data.decode('utf-8')}") name = input("Digite seu nome: ") s.sendall(name.encode('utf-8')) data = s.recv(1024) print(f"Recebido: {data.decode('utf-8')}") print("Cliente finalizado.") ``` **Como Executar:** 1. **Salvar:** Salve o código como `mcp_server.py` e `mcp_client.py`. 2. **Executar o Servidor:** Abra um terminal e execute `python mcp_server.py`. 3. **Executar o Cliente:** Abra outro terminal e execute `python mcp_client.py`. 4. **Interagir:** O cliente se conectará ao servidor, solicitará ferramentas e recursos e solicitará seu nome. Digite seu nome no terminal do cliente. **Explicação:** * **Servidor:** * Escuta conexões de entrada em uma porta específica. * Aceita uma conexão de um cliente. * Recebe dados (comandos) do cliente. * Processa os comandos (por exemplo, `request_tools`, `request_resources`, `prompt_name`). * Envia uma resposta de volta ao cliente. * Fecha a conexão. * **Cliente:** * Conecta-se ao servidor. * Envia comandos para o servidor. * Recebe respostas do servidor. * Imprime as respostas no console. * Solicita a entrada do usuário (nome). * Envia a entrada do usuário para o servidor. * Fecha a conexão. **Melhorias Chave para uma Implementação Real:** * **Estrutura de Pacotes MCP:** Use a estrutura de pacotes MCP correta (ID do pacote, campos de dados, etc.). * **Serialização/Desserialização de Dados:** Use `struct` ou uma biblioteca semelhante para empacotar e desempacotar dados de acordo com a especificação MCP. * **Gerenciamento de Estado:** Mantenha informações de estado sobre o cliente (por exemplo, inventário do jogador, localização). * **Threading:** Use threads ou programação assíncrona para lidar com vários clientes simultaneamente. * **Tratamento de Erros:** Implemente tratamento de erros robusto para lidar normalmente com eventos inesperados. * **Segurança:** Implemente autenticação e criptografia para proteger contra acesso não autorizado e espionagem. * **Representação do Mundo:** Implemente uma representação do mundo Minecraft (chunks, blocos, entidades). * **Lógica do Jogo:** Implemente a lógica principal do jogo (por exemplo, movimento do jogador, quebra de blocos, criação de itens). Este exemplo fornece uma base básica para entender como um servidor e cliente MCP simples podem se comunicar. Construir um servidor Minecraft completo requer significativamente mais esforço e um profundo conhecimento do protocolo Minecraft.

Oura MCP Server

Oura MCP Server

Um servidor MCP para Oura

MCP Adobe Experience Platform Server

MCP Adobe Experience Platform Server

Servidor MCP para integração de APIs do Adobe Experience Platform

ShotGrid MCP Server

ShotGrid MCP Server

A Model Context Protocol (MCP) server for Autodesk ShotGrid/Flow Production Tracking (FPT) with comprehensive CRUD operations and data management capabilities.

jira-mcp-server

jira-mcp-server

CTF-MCP-Server

CTF-MCP-Server

Bankless Onchain MCP Server

Bankless Onchain MCP Server

Bringing the bankless onchain API to MCP

github-mcp-cursor-project-rules

github-mcp-cursor-project-rules

Cursor project rules and MCP server

mcp-server-email

mcp-server-email

mcp-server demo about send email by golang

Model Context Protocol (MCP) Server for Unity

Model Context Protocol (MCP) Server for Unity

JBAssist - Microsoft Graph MCP Server

JBAssist - Microsoft Graph MCP Server

A Windows-compatible MCP server for querying Microsoft Graph API

@waldzellai/mcp-servers

@waldzellai/mcp-servers

Monorepo de servidores MCP da Waldzell AI para aprimoramento de modelos. Use no Claude Desktop, Cline, Roo Code e muito mais!

Redmine MCP Server

Redmine MCP Server

Mirror of

MCP TypeScript Template

MCP TypeScript Template

A beginner-friendly foundation for building Model Context Protocol (MCP) servers (and in the future also clients) with TypeScript. This template provides a comprehensive starting point with production-ready utilities, well-structured code, and working examples for building an MCP server.

Memgraph MCP Server

Memgraph MCP Server

Memgraph MCP Server

Needle MCP Server

Needle MCP Server

Integração do Needle no protocolodecontextomodelo

Glean

Glean

Mirror of

Azure DevOps MCP Server by Zubeid HendricksAzure DevOps MCP Server

Azure DevOps MCP Server by Zubeid HendricksAzure DevOps MCP Server

MCP Server for the Azure DevOps API, enabling project management, repository operations, and more.

Deno Deploy MCP Template Repo

Deno Deploy MCP Template Repo

A template repo for hosting MCP servers on Deno Deploy

Database Schema MCP Server

Database Schema MCP Server

AI MCP Portal

AI MCP Portal

O portal para o aimcp.