Sponsored by Deepsite.site

🧠 Servidor MCP com Python – Tutorial Prático

Created By
ryanbrito8 months ago
Content

Banner

🧠 Servidor MCP com Python – Tutorial Prático

Este repositório demonstra como criar um servidor MCP (Model Context Protocol) usando o SDK oficial da Microsoft em Python. O projeto mostra como definir ferramentas (@tool) que podem ser consumidas por LLMs, como ChatGPT ou modelos em ambientes como o Open WebUI.


🚀 Tecnologias utilizadas

  • Python 3.10+
  • uv – gerenciamento de ambientes e pacotes
  • mcp – SDK oficial MCP
  • mcpo – Middleware HTTP + documentação OpenAPI

⚙️ Instalação

# 1. Crie o ambiente virtual com uv
uv venv .venv
source .venv/bin/activate

# 2. Instale o SDK MCP, CLI e mcpo
uv add mcp mcp[cli] mcpo

🧩 Estrutura do Projeto

📁 projeto/
├── main.py         # Arquivo principal com o servidor MCP
├── README.md       # Este arquivo
└── .venv/          # Ambiente virtual (não versionar)

🛠️ Exemplo de Código – main.py

from mcp.server.fastmcp import FastMCP

mcp = FastMCP("Tutorial MCP")

@mcp.tool()
def get_tutorial_summary():
    """
    Returns the summary of an MCP Server Tutorial

    :return: Um resumo textual sobre como construir um servidor MCP.
    """
    return (
        "Configure o ambiente com uv.\n"
        "Instale com: uv add mcp mcp[cli] mcpo\n"
        "Implemente funções com @tool\n"
        "Execute com mcpo\n"
        "Consuma via cliente MCP ou Open WebUI."
    )

@mcp.tool()
def somar(a: int, b: int) -> int:
    """
    Soma dois números inteiros e retorna o resultado.

    :param a: O primeiro número.
    :param b: O segundo número.
    :return: O resultado da soma entre a e b.
    """
    return a + b

if __name__ == "__main__":
    mcp.run(transport="stdio")  # Execução local

▶️ Como Executar

🔹 1. Modo Local (stdio)

.venv/bin/python main.py

ou

mcp run main.py # Para executar o servidor de forma padrão

mcp dev main.py # Para Testar o servidor em modo desenvolvedor

mcp install main.py # Para instalar localmente no Claude Desktop

Esse modo é ideal para testes locais com a CLI do MCP.


🔹 2. Modo HTTP com mcpo para documentação OpenAPI e integração ao OpenWebUI

mcpo --port 8000 -- .venv/bin/python main.py

🤖 Integração com Open WebUI

Após iniciar o servidor com mcpo, você pode conectá-lo ao Open WebUI ou outras ferramentas LLM que suportam o protocolo MCP.

  1. Vá para sua instância Open WebUI
  2. Vá para configurações
  3. Clique em Tools
  4. Insira a URL do novo servidor MCP: http://localhost:8000

Para mais informações, clique aqui.


📘 Sobre docstrings nas funções

Cada @mcp.tool() deve conter uma docstring clara e completa, pois:

  • Aparece automaticamente na documentação OpenAPI.
  • É usada pela IA para decidir qual função usar, com base na consulta/query do usuário a IA.

🔥 Docstrings bem escritas melhoram muito a usabilidade com LLMs.


📢 Contribuições

Pull requests são bem-vindos! Fique à vontade para sugerir novas tools, melhorar exemplos ou expandir o tutorial.


Recommend Servers
TraeBuild with Free GPT-4.1 & Claude 3.7. Fully MCP-Ready.
EdgeOne Pages MCPAn MCP service designed for deploying HTML content to EdgeOne Pages and obtaining an accessible public URL.
TimeA Model Context Protocol server that provides time and timezone conversion capabilities. This server enables LLMs to get current time information and perform timezone conversions using IANA timezone names, with automatic system timezone detection.
Howtocook Mcp基于Anduin2017 / HowToCook (程序员在家做饭指南)的mcp server,帮你推荐菜谱、规划膳食,解决“今天吃什么“的世纪难题; Based on Anduin2017/HowToCook (Programmer's Guide to Cooking at Home), MCP Server helps you recommend recipes, plan meals, and solve the century old problem of "what to eat today"
MiniMax MCPOfficial MiniMax Model Context Protocol (MCP) server that enables interaction with powerful Text to Speech, image generation and video generation APIs.
DeepChatYour AI Partner on Desktop
Serper MCP ServerA Serper MCP Server
Context7Context7 MCP Server -- Up-to-date code documentation for LLMs and AI code editors
Amap Maps高德地图官方 MCP Server
Baidu Map百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
CursorThe AI Code Editor
AiimagemultistyleA Model Context Protocol (MCP) server for image generation and manipulation using fal.ai's Stable Diffusion model.
Zhipu Web SearchZhipu Web Search MCP Server is a search engine specifically designed for large models. It integrates four search engines, allowing users to flexibly compare and switch between them. Building upon the web crawling and ranking capabilities of traditional search engines, it enhances intent recognition capabilities, returning results more suitable for large model processing (such as webpage titles, URLs, summaries, site names, site icons, etc.). This helps AI applications achieve "dynamic knowledge acquisition" and "precise scenario adaptation" capabilities.
BlenderBlenderMCP connects Blender to Claude AI through the Model Context Protocol (MCP), allowing Claude to directly interact with and control Blender. This integration enables prompt assisted 3D modeling, scene creation, and manipulation.
WindsurfThe new purpose-built IDE to harness magic
ChatWiseThe second fastest AI chatbot™
Jina AI MCP ToolsA Model Context Protocol (MCP) server that integrates with Jina AI Search Foundation APIs.
MCP AdvisorMCP Advisor & Installation - Use the right MCP server for your needs
Visual Studio Code - Open Source ("Code - OSS")Visual Studio Code
Tavily Mcp
Playwright McpPlaywright MCP server