Skip to main content
Glama

mcp-toolkit

Universeller MCP-Server für KI-Agenten. Erstellt mit Python 3.13, FastMCP und Playwright.

Verfügbare Werkzeuge

Werkzeug

Beschreibung

web_search

Durchsucht DuckDuckGo und extrahiert Webinhalte mit Playwright

fetch_url

Extrahiert den Hauptinhalt einer direkten URL

http_request

Führt generische HTTP-Anfragen ohne Playwright aus

time_now

Gibt das aktuelle Datum und die Uhrzeit in einer Zeitzone zurück

date_utils

Konvertiert Zeitzonen und berechnet Daten/Zeitspannen

memory_set

Speichert einen persistenten Wert in SQLite

memory_get

Ruft einen gespeicherten Wert ab

memory_delete

Löscht einen Schlüssel

memory_list

Listet alle Schlüssel auf (mit optionalem Präfix-Filter)

memory_clear

Löscht den gesamten Speicher (unwiderruflich!)

memory_search

Sucht nach Text in gespeicherten Schlüsseln und Werten

run_python

Führt Python-Code in einer Sandbox mit Timeout aus

run_js

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-toolkit

Obligatorischer 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 chromium

Oder alternativ, falls du den Pfad zur Umgebung kennst:

~/.local/share/uv/tools/mcp-toolkit/bin/python -m playwright install chromium

Konfiguration 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 8080

Der 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 sse bleibt aus Kompatibilitätsgründen für ältere Clients erhalten, ist aber seit FastMCP 2.3 als veraltet markiert.


Verwendung der Werkzeuge

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=True

fetch_url

Parámetros:
  url (str) — URL absoluta HTTP o HTTPS a leer

Beispiel (Agent):

Lee https://example.com/articulo con fetch_url

http_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 60

Beispiel (Agent):

Haz un POST a https://api.example.com/items con http_request

time_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 opcional

Sicherheitsbeschrä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 pytest

Hinzufügen eines neuen Werkzeugs

  1. Erstelle mcp_toolkit/tools/mein_tool.py mit einer Funktion async def mein_tool(...) -> str

  2. Importiere und registriere es in server.py mit mcp.tool()(mein_tool)

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

Install Server
A
license - permissive license
A
quality
D
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

View all related MCP servers

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

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/YoshiLoL0526/mcp-toolkit'

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