Einfacher MCP-Tool-Server
Ein einfacher MCP-Server, der ein Tool zum Abrufen von Websites mithilfe von SSE-Transport bereitstellt.
Anforderungen
Python 3.10 oder höher (getestet auf Python 3.13)
Related MCP server: MCP Server Fetch TypeScript
Installation
# Create a virtual environment
python3 -m venv venv
# Activate the virtual environment
source venv/bin/activate
# Install the package and dependencies
pip install -r requirements.txtMCP Python SDK-Dokumentation
Die MCP Python SDK-Dokumentation wurde in kleinere Dateien aufgeteilt und im Verzeichnis docs/ organisiert. Diese Struktur erleichtert KI-Agenten die Navigation und das Verständnis des SDK. Die Dokumentation umfasst:
Kernkonzepte (Server, Ressourcen, Tools usw.)
Ausführen von MCP-Servern in verschiedenen Modi
Beispiele und erweiterte Verwendung
Und mehr!
Verwendung
Das Paket bietet eine Befehlszeilenschnittstelle (CLI) mit mehreren Befehlen zur Verwaltung des MCP-Servers:
Starten des Servers
Starten Sie den Server auf dem Standardport (7000) oder geben Sie einen benutzerdefinierten Port an:
# Using default port (7000)
python -m mcp_simple_tool start
# Using custom port
python -m mcp_simple_tool start --port 8000Verwalten des Servers
# Check if server is running
python -m mcp_simple_tool check [--port PORT]
# Stop the server
python -m mcp_simple_tool stop [--port PORT]
# Restart the server (stop and start)
python -m mcp_simple_tool restart [--port PORT]Der Neustartbefehl führt Folgendes aus:
Stoppen Sie alle vorhandenen Server auf dem angegebenen Port
Starten Sie einen neuen Server im Hintergrund
Warten Sie, bis der Server reagiert
Protokollausgabe in server.log
CLI-Kurzreferenz
Befehl | Zweck |
| Starten Sie den Server |
| Stoppen Sie den Server |
| Gesundheitscheck |
| Stopp & Start |
Server-Tools
Der Server stellt die folgenden Tools bereit:
fetch : Remote -HTTP-Fetcher – gibt eine absolute URL an; gibt Seitentext zurück.
url: Die URL der abzurufenden Website (erforderlich)
search_docs : Semantische Suche in der SDK-Dokumentation; gibt die Top-K-Auszüge zurück.
query: Suchbegriff oder Frage (erforderlich)k: Anzahl der zurückzugebenden Top-Übereinstimmungen (optional, Standard = 3)
get_content : Ruft die vollständige lokale Datei für alle von
search_docszurückgegebenen Übereinstimmungen ab.file: Pfad relativ zu Dokumenten (erforderlich)
Entwicklungs-Setup
Installieren Sie für die Entwicklung zusätzliche Tools:
pip install -e .
pip install -r requirements.txtVerwenden Sie das Makefile für allgemeine Aufgaben:
# Format code
make fmt
# Run linters
make lint
# Run tests
make testDie Testsuite verfügt über ein integriertes 20-Sekunden-Timeout für alle Tests, um ein Hängenbleiben, insbesondere bei SSE-Endpunkten, zu verhindern. Für einzelne Tests kann mit dem Decorator @pytest.mark.timeout(seconds) ein strengeres Timeout angegeben werden.
Semantischer Suchindex
Für das Tool search_docs können Sie den Vektorindex manuell erstellen oder neu erstellen:
# Build or rebuild the semantic search index
python scripts/build_doc_index.pyDer Index wird beim ersten Einsatz des Tools automatisch erstellt, falls er nicht vorhanden ist.
Projektarchitektur
mcp_simple_tool/
__init__.py # Package initialization
__main__.py # Entry point when run as module
cli.py # Command-line interface
server/ # Server implementation
__init__.py # Server package initialization
app.py # ASGI application setup
config.py # Configuration settings
handlers.py # Tool implementations
http.py # HTTP utilities
semantic_search/ # Semantic search functionality
__init__.py # Package initialization
indexing.py # Build and persist vector store
search.py # Load index and query helpersVerwendung mit Cursor
Dieser MCP-Server kann mit Cursor als Client verwendet werden. Zur Einrichtung:
Führen Sie den Server in einem Terminal aus:
source venv/bin/activate
python -m mcp_simple_tool start
# or use the restart command
python -m mcp_simple_tool restartKonfigurieren Sie den Cursor, indem Sie eine
.cursor/mcp.json-Datei erstellen:
{
"mcpServers": {
"website-fetcher-sse": {
"url": "http://localhost:7000/sse"
}
}
}Erwähnen Sie den Server in Ihren Eingabeaufforderungen, wenn Sie Cursor verwenden
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.