Skip to main content
Glama
TheCodeWulf

custodyops-mcp-python

by TheCodeWulf

custodyops-mcp-python

Минимальный Python MCP сервер на Streamable HTTP с использованием FastAPI + fastmcp, готовый к развёртыванию на Render с HTTPS. Он предоставляет инструмент ping и два демо-инструмента (get_positions, list_upcoming_corporate_actions), которые можно заменить на адаптеры только для чтения к вашим данным по кастоди.

Почему Streamable HTTP? Это рекомендуемый транспорт для удалённых/хостируемых MCP серверов, упрощающий двунаправленную потоковую передачу до одной конечной точки POST /mcp и делающий облачное развёртывание простым. См. MCP HTTP quickstart и SDK docs для канонических шаблонов.

Возможности

  • Конечная точка Streamable HTTP по адресу POST /mcp

  • Bearer аутентификация через AUTH_TOKEN

  • /health эндпоинт для проверки доступности

  • Минимальный объём кода, легко расширяется дополнительными MCP инструментами

  • Развёртывание в один клик на Render через render.yaml

Related MCP server: MCP Ping-Pong Server

Быстрый старт (локально)

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

Тест с помощью 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

Или запустите вспомогательный скрипт:

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

Развёртывание на Render (HTTPS)

  1. Форкните или отправьте этот репозиторий в свой GitHub.

  2. В Render: New → Web Service → Connect repo.

  3. Просмотрите настройки из render.yaml (среда Python, бесплатный план). Render автоматически предоставляет HTTPS.

  4. Установите AUTH_TOKEN в Environment Render (генерируется автоматически, если вы используете blueprint).

  5. Разверните → ваш публичный MCP эндпоинт: https://<your-app>.onrender.com/mcp.

Тест удалённо:

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

Использование из Claude Desktop (удалённый MCP)

Добавьте запись ретрансляции в claude_desktop_config.json:

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

Перезапустите приложение, затем попросите Claude вывести список доступных инструментов.

Расширение с реальными данными кастоди

Замените демо-инструменты на адаптеры только для чтения к вашему хранилищу данных или API. Делайте ответы небольшими и типизированными, по возможности добавляйте происхождение полей.

Пример скелета:

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

Заметки по безопасности

  • Храните AUTH_TOKEN в секрете; регулярно меняйте. Для корпоративного использования переходите на OAuth/JWT и добавляйте авторизацию на уровне аккаунта.

  • При HTTP транспорте обычное логирование допустимо, но удаляйте конфиденциальные данные и добавляйте идентификаторы запросов.

Лицензия

MIT

A
license - permissive license
-
quality - not tested
C
maintenance

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    -
    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
    -
    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
    -
    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.

View all related MCP servers

Related MCP Connectors

  • Multi-tenant FastMCP server for Charles Schwab brokerage data, monetized via DPYC Tollbooth

  • MCP server exposing the Backtest360 engine API as tools for AI agents.

  • MCP server for verifying EUDI/Talao wallet data via OIDC4VP (pull) for AI agents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/TheCodeWulf/custodyops-mcp-python'

If you have feedback or need assistance with the MCP directory API, please join our Discord server