Skip to main content
Glama

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 needed

Um es bei Claude Code zu registrieren:

claude mcp add gh-lab -- uv run --directory /path/to/mcp-trial mcp run server.py

Was 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.

Install Server
F
license - not found
B
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    A
    quality
    D
    maintenance
    An 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.
    2
    86
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that provides tools for interacting with the GitHub API, enabling AI assistants to query repositories, pull requests, issues, commits, users, and more.
    467
    ISC
  • F
    license
    Not graded
    quality
    C
    maintenance
    A read-only MCP server that exposes GitHub user profiles, repository info, and search via tools for AI assistants like Claude.

View all related MCP servers

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.

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/Sai-Srinivas7/mcp-trial'

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