mcp-trial
Mein Versuch, das Model Context Protocol zu verstehen, indem ich einen Server für die GitHub-API baue.
Python SDK v2, läuft über stdio und ist an Claude Code angebunden.
Was es tut
Zwei Tools, eines für eine Zusammenfassung eines Repos und eines für dessen letzte Commit-Nachrichten. Es gibt auch eine Ressource, die das rohe README eines Repos bereitstellt, und eine Prompt-Vorlage zur Bewertung eines Repos als Portfolio-Stück.
Related MCP server: MCP GitHub Reader
So führst du es aus
uv sync
uv run mcp dev server.py # opens the inspector
uv run python test_server.py # calls the server directly, no host neededUm es bei Claude Code zu registrieren:
claude mcp add gh-lab -- uv run --directory /path/to/mcp-trial mcp run server.pyWas ich gelernt habe
Deine Typannotationen sind der eigentliche API-Vertrag, da das SDK das JSON-Schema der Tools direkt aus
der Funktionssignatur erstellt. Wenn du limit: int = 5 schreibst, wird dieser Parameter dadurch auch
optional – der Parameter kann also weggelassen werden.
Docstrings sind wichtiger, als ich erwartet hatte, weil sie als Tool-Beschreibung an das Modell gesendet werden und darüber entscheiden, welches Tool das Modell auswählt. Ich habe Claude Code gefragt, ob ein Repo aktiv gepflegt wird, und es hat beide Tools aufgerufen und die Sache selbst herausgefunden, was nur funktionierte, weil die Beschreibungen die Kombination nahegelegt haben.
Alles, was ein Tool zurückgibt, wird im Kontext des Modells zu Text, also kostet jedes Feld Tokens. GitHub liefert etwa hundert Felder zurück und ich gebe nur fünf zurück.
Einen Fehler zu werfen ist besser, als einen zurückzugeben, da das Werfen ein Flag setzt, das der Host prüft, und die Nachricht erreicht das Modell als etwas, auf das es reagieren kann.
Async macht nichts schneller. Ein einzelner Aufruf dauert genauso lange. Was await bewirkt, ist, die
Funktion zu pausieren und die Ereignisschleife freizugeben, damit andere Aufrufe während des Wartens
laufen können.
Notizen
mcp-reference.md enthält meine handschriftlichen Notizen aus der Entwicklung.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Tools
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that enables analyzing and querying GitHub repositories through the GitHub Chat API, allowing users to index repositories and ask questions about their code, architecture and tech stack.286MIT
- AlicenseDqualityDmaintenanceA lightweight MCP server for bringing GitHub repositories into context for large language models, enabling repository analysis, file access, and search without local cloning.4106Apache 2.0
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides tools for interacting with the GitHub API, enabling AI assistants to query repositories, pull requests, issues, commits, users, and more.467ISC
- FlicenseNot gradedqualityCmaintenanceA read-only MCP server that exposes GitHub user profiles, repository info, and search via tools for AI assistants like Claude.
Related MCP Connectors
An MCP server that gives your AI access to the source code and docs of all public github repos
A MCP server built for developers enabling Git based project management with project and personal…
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Sai-Srinivas7/mcp-trial'
If you have feedback or need assistance with the MCP directory API, please join our Discord server