mcp-toolkit
mcp-toolkit
Universeller MCP-Server für KI-Agenten. Erstellt mit Python 3.13, FastMCP und Playwright.
Verfügbare Werkzeuge
Werkzeug | Beschreibung |
| Durchsucht DuckDuckGo und extrahiert Webinhalte mit Playwright |
| Extrahiert den Hauptinhalt einer direkten URL |
| Führt generische HTTP-Anfragen ohne Playwright aus |
| Gibt das aktuelle Datum und die Uhrzeit in einer Zeitzone zurück |
| Konvertiert Zeitzonen und berechnet Daten/Zeitspannen |
| Speichert einen persistenten Wert in SQLite |
| Ruft einen gespeicherten Wert ab |
| Löscht einen Schlüssel |
| Listet alle Schlüssel auf (mit optionalem Präfix-Filter) |
| Löscht den gesamten Speicher (unwiderruflich!) |
| Sucht nach Text in gespeicherten Schlüsseln und Werten |
| Führt Python-Code in einer Sandbox mit Timeout aus |
| Führt JavaScript-Code mit Node.js in einer Sandbox mit Timeout aus |
Related MCP server: MCP Server
Installation
Voraussetzungen
UV installiert
Python 3.13 (UV lädt es automatisch herunter, falls nicht vorhanden)
Node.js (optional, nur für
run_js)
Option A — Installation aus lokalem Ordner
git clone https://github.com/YoshiLoL0526/mcp-toolkit
cd mcp-toolkit
uv tool install --python 3.13 .Option B — Installation direkt von GitHub
uv tool install --python 3.13 git+https://github.com/YoshiLoL0526/mcp-toolkitObligatorischer Schritt: Chromium für Playwright installieren
Führe nach der Installation des Pakets diesen Befehl einmalig aus:
# Obtener la ruta del entorno virtual creado por uv tool
uv tool run --from mcp-toolkit python -m playwright install chromiumOder alternativ, falls du den Pfad zur Umgebung kennst:
~/.local/share/uv/tools/mcp-toolkit/bin/python -m playwright install chromiumKonfiguration in MCP-Clients
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json)
{
"mcpServers": {
"mcp-toolkit": {
"command": "mcp-toolkit"
}
}
}Unter Windows lautet der Pfad
%APPDATA%\Claude\claude_desktop_config.json
Cursor / VS Code (.cursor/mcp.json oder .vscode/mcp.json)
{
"servers": {
"mcp-toolkit": {
"type": "stdio",
"command": "mcp-toolkit"
}
}
}HTTP-Server (für Fernzugriff oder mehrere Clients)
mcp-toolkit --transport http --host 0.0.0.0 --port 8080Der Server hört auf http://<host>:<port>/mcp unter Verwendung des streamable-http-Transports (aktueller MCP-Standard). Du kannst den Pfad mit --path /anderer-pfad ändern.
Der Transport
--transport ssebleibt aus Kompatibilitätsgründen für ältere Clients erhalten, ist aber seit FastMCP 2.3 als veraltet markiert.
Verwendung der Werkzeuge
web_search
Parámetros:
query (str) — texto a buscar
max_results (int) — resultados a devolver, default 5, máximo 10
deep (bool) — si True, extrae el contenido completo de cada página
language (str) — idioma para las cabeceras HTTP, default "es-ES"Beispiel (Agent):
Busca las últimas noticias sobre Python 3.13 con deep=Truefetch_url
Parámetros:
url (str) — URL absoluta HTTP o HTTPS a leerBeispiel (Agent):
Lee https://example.com/articulo con fetch_urlhttp_request
Parámetros:
method (str) — método HTTP: GET, POST, PUT, PATCH, DELETE, HEAD u OPTIONS
url (str) — URL absoluta HTTP o HTTPS
headers (dict) — cabeceras opcionales
body (str) — cuerpo opcional como texto
timeout (int) — segundos máximos, default 10, máximo 60Beispiel (Agent):
Haz un POST a https://api.example.com/items con http_requesttime_now / date_utils
time_now(timezone_name="UTC")
date_utils(
action="convert_timezone",
value="2026-04-21T12:00:00+00:00",
target_timezone="America/New_York"
)Unterstützte Aktionen für date_utils: parse, convert_timezone, add und
diff. Für Daten ohne Offset wird timezone_name verwendet; Zeitzonen müssen
IANA-Namen wie UTC, America/New_York oder Europe/Madrid sein.
memory_set / memory_get
memory_set(key="usuario_nombre", value="Carlos", namespace="default")
memory_get(key="usuario_nombre", namespace="default")
memory_list(prefix="usuario_", namespace="default")
memory_search(query="Carlos", namespace="default")Die Daten werden unter ~/.local/share/mcp-toolkit/memory.db gespeichert.
Alle Speicherwerkzeuge akzeptieren ein namespace, um Daten nach
Projekt, Client oder Konversation zu trennen. Wenn nicht angegeben, wird default verwendet.
run_python
Parámetros:
code (str) — código Python a ejecutar
timeout (int) — segundos máximos, default 10, máximo 60
stdin (str) — entrada estándar opcionalSicherheitsbeschränkungen:
Minimale Umgebung: erbt keine Geheimnisse oder beliebige Variablen vom Host-Prozess
Temporäres Arbeitsverzeichnis pro Ausführung
HTTP-Proxys durch Umgebungsvariablen aufgehoben
Speicherlimit: 256 MB (Linux/macOS)
Strenges Timeout: der Prozess wird bei Zeitüberschreitung beendet
Unter Windows wird kein Speicherlimit pro Prozess von Python angewendet
Die Netzwerksperre ist keine Garantie für eine starke Isolierung; für nicht vertrauenswürdigen Code wird empfohlen, den Server innerhalb eines Containers oder einer VM mit Netzwerkrichtlinien auszuführen
run_js
Gleiche Parameter wie run_python. Erfordert ein auf dem System installiertes Node.js.
Entwicklung
git clone https://github.com/YoshiLoL0526/mcp-toolkit
cd mcp-toolkit
uv sync
uv run python -m playwright install chromium
# Ejecutar en modo desarrollo
uv run mcp-toolkit
# Tests
uv run pytestHinzufügen eines neuen Werkzeugs
Erstelle
mcp_toolkit/tools/mein_tool.pymit einer Funktionasync def mein_tool(...) -> strImportiere und registriere es in
server.pymitmcp.tool()(mein_tool)Neuinstallation:
uv tool install --python 3.13 . --reinstall
Projektstruktur
mcp-toolkit/
├── pyproject.toml
├── README.md
├── mcp_toolkit/
│ ├── server.py # FastMCP app + registro
│ ├── tools/
│ │ ├── web_search.py # Playwright: buscar + extraer
│ │ ├── fetch_url.py # Extraer una URL directa
│ │ ├── http_request.py # Cliente HTTP genérico
│ │ ├── date_time.py # Fechas, zonas horarias y duraciones
│ │ ├── memory.py # SQLite KV store con namespaces
│ │ ├── run_python.py # Sandbox Python
│ │ └── run_js.py # Sandbox Node.js
│ └── utils/
│ ├── browser.py # Singleton Playwright
│ └── sandbox.py # Helpers de subprocess y timeout
└── tests/Lizenz
MIT
Maintenance
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
- AlicenseAqualityDmaintenanceAn MCP server that enables web searching, URL content extraction, and summarization without requiring API keys. It also provides advanced mathematical evaluation and multi-language Wikipedia summary retrieval tools.51596MIT
- Alicense-qualityDmaintenanceA modular MCP server providing file operations, web search, URL scraping, and sandboxed command execution for LLM interactions.1MIT
- AlicenseAqualityBmaintenanceAn MCP server that provides real-time web search to AI agents via a pay-per-search USDC microtransaction system.5592MIT
- Alicense-qualityDmaintenanceA powerful MCP server that enables LLMs to safely execute code, control file systems, search the web, and integrate with services like Gmail and TMDB.MIT
Related MCP Connectors
Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.
Cloud-hosted MCP server for durable AI memory
An MCP server that gives your AI access to the source code and docs of all public github repos
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/YoshiLoL0526/mcp-toolkit'
If you have feedback or need assistance with the MCP directory API, please join our Discord server