MCP Server Creator

Um meta-servidor para gerar dinamicamente configurações de servidor MCP e código Python.

Documentação

Criador de Servidores MCP 🏗️

PyPI version License: MIT

Um poderoso servidor de Protocolo de Contexto de Modelo (MCP) que cria outros servidores MCP! Este meta-servidor fornece ferramentas para gerar dinamicamente configurações de servidores FastMCP e código Python.

🚀 Início Rápido

Instalar com pip

pip install mcp-server-creator

Executar com uvx (recomendado)

uvx mcp-server-creator

Executar como módulo

python -m mcp_server_creator

Recursos

  • Criação Dinâmica de Servidores: Crie novas configurações de servidores MCP em tempo real
  • Construtor de Ferramentas: Adicione ferramentas personalizadas com parâmetros, tipos de retorno e implementações
  • Gerenciador de Recursos: Adicione recursos estáticos e dinâmicos com suporte a modelos
  • Geração de Código: Gere código Python completo e executável para seus servidores
  • Exportação de Arquivos: Salve servidores gerados diretamente em arquivos Python
  • Modelos de Exemplo: Servidor de exemplo integrado para demonstrar as capacidades

Uso

Como um Servidor MCP

O Criador de Servidores MCP é, ele próprio, um servidor MCP que pode ser usado com o Claude Desktop ou qualquer cliente MCP.

Configuração do Claude Desktop

Adicione ao seu claude_desktop_config.json:

{
  "mcpServers": {
    "mcp-server-creator": {
      "command": "uvx",
      "args": ["mcp-server-creator"]
    }
  }
}

Uso Programático

from mcp_server_creator import create_server, add_tool, generate_server_code

# Create a new server configuration
result = create_server(
    name="My API Server",
    description="A custom API integration server",
    version="1.0.0"
)

# Add a tool
add_tool(
    server_id="my_api_server",
    tool_name="fetch_data",
    description="Fetch data from the API",
    parameters=[{"name": "endpoint", "type": "str"}],
    return_type="dict",
    implementation='return {"data": f"Fetched from {endpoint}"}'
)

# Generate the code
code = generate_server_code("my_api_server")
print(code)

Ferramentas Disponíveis

Gerenciamento de Servidores

  • create_server: Crie uma nova configuração de servidor MCP
  • list_servers: Liste todas as configurações de servidores na memória
  • get_server_details: Obtenha informações detalhadas sobre um servidor específico

Gerenciamento de Ferramentas

  • add_tool: Adicione uma ferramenta a um servidor existente
    • Suporta ferramentas síncronas e assíncronas
    • Definições de parâmetros personalizados com tipos e padrões
    • Gerenciamento automático de importações

Gerenciamento de Recursos

  • add_resource: Adicione um recurso a um servidor existente
    • Recursos estáticos para dados fixos
    • Modelos de recursos dinâmicos com parâmetros
    • Tipos MIME personalizados

Geração de Código

  • generate_server_code: Gere código Python completo para um servidor
  • save_server: Salve o código do servidor gerado em um arquivo
  • create_example_server: Crie um Serviço Meteorológico de exemplo completo

Exemplo: Criando um Serviço Meteorológico

import asyncio
from mcp_server_creator import create_server, add_tool, add_resource, save_server

async def create_weather_service():
    # Create the server
    create_server(
        name="Weather Service",
        description="Get weather information",
        version="1.0.0"
    )
    
    # Add a weather tool
    add_tool(
        server_id="weather_service",
        tool_name="get_weather",
        description="Get current weather for a city",
        parameters=[
            {"name": "city", "type": "str"},
            {"name": "units", "type": "str", "default": '"celsius"'}
        ],
        return_type="dict",
        is_async=True,
        implementation='''
    # Your weather API logic here
    return {
        "city": city,
        "temperature": 20,
        "units": units,
        "condition": "sunny"
    }'''
    )
    
    # Add a resource
    add_resource(
        server_id="weather_service",
        uri="weather://{city}/current",
        name="Current Weather",
        description="Get current weather data",
        is_template=True,
        implementation='return {"city": city, "weather": "sunny"}'
    )
    
    # Save to file
    await save_server("weather_service", "weather_service.py")

# Run the creation
asyncio.run(create_weather_service())

Desenvolvimento

Configuração

git clone https://github.com/GongRzhe/mcp-server-creator.git
cd mcp-server-creator
pip install -e .

Testes

python test_mcp_creator.py

Requisitos

  • Python 3.8+
  • FastMCP >= 0.1.0

Licença

Licença MIT - consulte o arquivo LICENSE para obter detalhes.

Contribuições

Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request.

Autor

GongRzhe - gongrzhe@gmail.com

Links