Skip to main content
Glama
TheCodeWulf

custodyops-mcp-python

by TheCodeWulf

custodyops-mcp-python

Un servidor MCP mínimo en Python sobre HTTP transmisible usando FastAPI + fastmcp, listo para desplegar en Render con HTTPS. Expone una herramienta ping más dos herramientas de demostración (get_positions, list_upcoming_corporate_actions) que puedes reemplazar con adaptadores de solo lectura para tus datos de custodia.

¿Por qué HTTP transmisible? Es el transporte recomendado para servidores MCP remotos/alojados, simplificando la transmisión bidireccional a un único endpoint POST /mcp y facilitando el despliegue en la nube. Consulta la guía de inicio rápido de MCP HTTP y la documentación del SDK para los patrones canónicos.

Características

  • Endpoint HTTP transmisible en POST /mcp

  • Autenticación Bearer mediante AUTH_TOKEN

  • Endpoint /health para comprobaciones de disponibilidad

  • Huella de código mínima, fácil de extender con más herramientas MCP

  • Despliegue con un clic en Render mediante render.yaml

Related MCP server: MCP Ping-Pong Server

Inicio rápido (local)

python -m venv .venv && source .venv/bin/activate   # Windows: .venv\Scriptsctivate
pip install -r requirements.txt
export AUTH_TOKEN=devtoken123
export PORT=3000
uvicorn app:app --host 0.0.0.0 --port $PORT

Prueba con cURL:

# tools/list
curl -s -X POST http://localhost:3000/mcp   -H "Content-Type: application/json"   -H "Authorization: Bearer devtoken123"   -d '{"jsonrpc":"2.0","id":"1","method":"tools/list","params":{}}' | jq

# tools/call ping
curl -s -X POST http://localhost:3000/mcp   -H "Content-Type: application/json"   -H "Authorization: Bearer devtoken123"   -d '{"jsonrpc":"2.0","id":"2","method":"tools/call","params":{"name":"ping","arguments":{}}}' | jq

O ejecuta el script auxiliar:

chmod +x scripts/test_locally.sh
AUTH_TOKEN=devtoken123 PORT=3000 ./scripts/test_locally.sh

Desplegar en Render (HTTPS)

  1. Haz fork o push de este repositorio a tu GitHub.

  2. En Render: Nuevo → Web Service → Conectar repositorio.

  3. Revisa la configuración de render.yaml (entorno Python, plan gratuito). Render aprovisiona automáticamente HTTPS.

  4. Establece AUTH_TOKEN en el Entorno de Render (se genera automáticamente si usas el blueprint).

  5. Despliega → tu endpoint MCP público es: https://<your-app>.onrender.com/mcp.

Prueba remota:

APP_URL=https://<your-app>.onrender.com AUTH_TOKEN=<token> ./scripts/test_remote.sh

Uso desde Claude Desktop (MCP remoto)

Añade una entrada de relay a claude_desktop_config.json:

{
  "mcpServers": {
    "custodyops-mcp": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://<your-app>.onrender.com/mcp"],
      "env": { "AUTH_TOKEN": "<same-token>" }
    }
  }
}

Reinicia la aplicación, luego pide a Claude que liste las herramientas disponibles.

Extender con datos reales de custodia

Reemplaza las herramientas de demostración con adaptadores de solo lectura a tu data mart o API. Mantén las respuestas pequeñas y tipadas, y añade procedencia de campos cuando sea posible.

Ejemplo de esqueleto:

@mcp_tool
def get_positions(account_id: str) -> str:
    rows = query_positions(account_id)  # your adapter
    return json.dumps(rows)

Notas de seguridad

  • Mantén AUTH_TOKEN en secreto; rota regularmente. Para uso empresarial, migra a OAuth/JWT y añade autorización por cuenta.

  • Con transporte HTTP, el registro normal está bien, pero redacta datos sensibles y añade IDs de solicitud.

Licencia

MIT

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A minimal Model Context Protocol server built with FastAPI that provides a basic "Hello World" resource and tool. Serves as a starting point for building and validating MCP client integrations with richer resources and tools.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    An experimental MCP server demonstrating remote calls via FastAPI, supporting ping-pong commands through API endpoints and SSE transport.
    2
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables building and running MCP servers over streamable HTTP, exposing tools to AI assistants like Cursor, with examples of mounting multiple servers in FastAPI.
    -