mcp-server-template
mcp-server-template
Шаблон с чёткой позицией для создания MCP-серверов только для чтения, которые действительно удобны агентам кодинга: I/O-стыки с таймаутами, офлайн-тесты, компактные текстовые выводы, документация с минимальными привилегиями.
Начните здесь → BUILDING.md — полный процесс от идеи до опубликованного сервера (~полдня).
Что внутри: рабочий пример сервера (HTTP-инструмент pypi_project с фиксированным источником за заглушенным стыком + чистый инструмент word_stats), офлайн-набор тестов, CI-процесс, соглашения CLAUDE.md и каркас README ниже.
Сетевой пример намеренно не принимает произвольные URL. «Только для чтения» не делает загрузчик URL безопасным: неограниченные адресаты и следующие за редиректами запросы могут открыть доступ к loopback, частным сетям или сервисам метаданных облака. pypi_project формирует только запросы https://pypi.org/..., отклоняет ввод в форме URL/пути, никогда не следует редиректам, ограничивает декодированный ответ 2 MiB и применяет 15-секундный дедлайн на всю операцию.
Каркас README для вашего сервера (замените весь этот файл)
# mcp-<name>+ однострочное ценностное предложение жирным4-строчная запись использования (Вы: … / Агент: → вызовы инструментов / Агент: ответ)
Таблица инструментов (инструмент → что возвращает)
Установка:
claude mcp add <name> -e TOKEN=... -- python -m mcp_<name>+ блок.mcp.jsonОбласть токена / безопасность (минимальные привилегии, заявление о режиме только для чтения)
Заметки о дизайне (почему только чтение, почему компактный текст, почему таймауты)
Лицензия + контактная строка
Используйте структуру выше напрямую; замените все имена шаблона и примеры перед публикацией производного сервера.
Related MCP server: MCP Server Template
Безопасность и конфиденциальность
Пример отправляет в PyPI только указанное имя пакета. Не помещайте секреты или приватные идентификаторы в аргументы инструментов.
Сводки проектов PyPI — это текст, контролируемый загрузчиком, поэтому пример намеренно исключает их из вывода, видимого агенту. Относитесь ко всему внешнему тексту как к ненадёжным данным.
Никогда не логируйте учётные данные, заголовки авторизации, сырые приватные ответы или подсказки пользователя.
Документируйте, какой внешний сервис получает каждый аргумент. Приватные логи CI и внутренние URL чувствительны, даже если инструмент только читает их.
Не включайте произвольную загрузку URL в производные серверы, если вы не реализуете список разрешённых адресатов и транспорт, который нельзя обойти редиректами или DNS-ребендингом.
Разработка
python -m pip install -e ".[dev]"
ruff check . && ruff format --check .
pytest
python -m buildMIT — см. LICENSE.
This server cannot be deployed
Maintenance
Related MCP Connectors
Primarily to be used as a template repository for developing MCP servers with FastMCP in Python, P…
Public read-only MCP server for Genvernium product and developer resources.
Read-only MCP server for The Quiet Protocol's engines, benchmarks, proof, and business data.
MCP server for mandates, delegation, policy-gated execution, credential grants, and audit.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA production-ready Python template for building MCP servers with enterprise features including registry integration, configuration management, structured logging, and extensible patterns for tools, resources, and prompts.MIT
- AlicenseAqualityNot gradedmaintenanceA production-ready TypeScript template for building MCP servers with dual transport support (stdio/HTTP), OAuth 2.1 foundations, SQLite caching, observability, and security features including PII sanitization and rate limiting.48 npm-
- AlicenseNot gradedqualityDmaintenanceA production-ready MCP server scaffold that features built-in authentication, Docker support, and a comprehensive CI/CD release pipeline. It provides a standardized template for deploying servers with multi-transport support and configurable read-only modes.MIT
- AlicenseNot gradedqualityDmaintenanceOpinionated template for building Node.js stdio and HTTP MCP servers.-