mcp-server-template
mcp-server-template
Meinungsstarke Vorlage für den Bau schreibgeschützter MCP-Server, die Coding-Agenten tatsächlich gut nutzen können: I/O-Schnittstellen mit Timeouts, Offline-Tests, kompakte Textausgaben, Dokumentation mit minimalen Rechten.
Hier starten → BUILDING.md — der vollständige Workflow von der Idee bis zum veröffentlichten Server (etwa ein halber Tag).
Was enthalten ist: ein funktionierender Beispielserver (pypi_project HTTP-Tool mit fester Herkunft hinter einer gestubten Schnittstelle + word_stats reines Tool), Offline-Testsuite, CI-Workflow, CLAUDE.md-Konventionen und ein README-Gerüst unten.
Das Netzwerkbeispiel akzeptiert bewusst keine beliebigen URLs. „Schreibgeschützt“ macht einen URL-Abrufer nicht sicher: uneingeschränkte Ziele und verfolgte Weiterleitungen können Loopback-, private Netzwerk- oder Cloud-Metadaten-Dienste offenlegen. pypi_project erstellt nur https://pypi.org/...-Anfragen, lehnt URL-/Pfad-förmige Eingaben ab, folgt niemals Weiterleitungen, begrenzt die dekodierte Antwort auf 2 MiB und wendet eine 15-Sekunden-Frist für den gesamten Vorgang an.
README-Gerüst für deinen Server (ersetze diese gesamte Datei)
# mcp-<name>+ einzeiliges Wertversprechen in Fettschrift4-zeiliges Nutzungstranskript (Du: … / Agent: → Tool-Aufrufe / Agent: Antwort)
Tools-Tabelle (Tool → was es zurückgibt)
Installation:
claude mcp add <name> -e TOKEN=... -- python -m mcp_<name>+.mcp.json-BlockToken-Bereich / Sicherheit (minimale Rechte, Schreibgeschützt-Erklärung)
Design-Hinweise (warum schreibgeschützt, warum kompakter Text, warum Timeouts)
Lizenz + Kontaktzeile
Verwende die obige Struktur direkt; ersetze jeden Vorlagennamen und jedes Beispiel, bevor du einen abgeleiteten Server veröffentlichst.
Related MCP server: MCP Server Template
Sicherheit und Datenschutz
Das Beispiel sendet nur den bereitgestellten Paketnamen an PyPI. Gib keine Geheimnisse oder privaten Kennungen in Tool-Argumente ein.
PyPI-Projektzusammenfassungen sind vom Uploader kontrollierte Prosa, daher lässt das Beispiel sie bewusst aus der für Agenten sichtbaren Ausgabe weg. Behandle allen externen Text als unvertrauenswürdige Daten.
Protokolliere niemals Anmeldedaten, Autorisierungs-Header, rohe private Antworten oder Benutzeraufforderungen.
Dokumentiere, welcher externe Dienst jedes Argument erhält. Private CI-Logs und interne URLs sind sensibel, selbst wenn ein Tool sie nur liest.
Halte beliebige URL-Abrufe aus abgeleiteten Servern fern, es sei denn, du implementierst eine Ziel-Allowlist und einen Transport, der nicht durch Weiterleitungen oder DNS-Rebinding umgangen werden kann.
Entwicklung
python -m pip install -e ".[dev]"
ruff check . && ruff format --check .
pytest
python -m buildMIT — siehe 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.-