mcp-toolkit
mcp-toolkit
用于 AI 代理的通用 MCP 服务器。 基于 Python 3.13、FastMCP 和 Playwright 构建。
可用工具
工具 | 描述 |
| 使用 Playwright 在 DuckDuckGo 上搜索并提取网页内容 |
| 提取直接 URL 的主要内容 |
| 执行不带 Playwright 的通用 HTTP 请求 |
| 返回指定时区的当前日期和时间 |
| 转换时区并计算日期/持续时间 |
| 在 SQLite 中保存持久化值 |
| 检索已保存的值 |
| 删除键 |
| 列出所有键(可选前缀过滤) |
| 清除所有内存(不可逆!) |
| 在已保存的键和值中搜索文本 |
| 在带超时的沙盒中执行 Python 代码 |
| 在带超时的沙盒中通过 Node.js 执行 JavaScript 代码 |
Related MCP server: MCP Server
安装
前置要求
已安装 UV
Python 3.13(如果未安装,UV 会自动下载)
Node.js(可选,仅用于
run_js)
选项 A — 从本地文件夹安装
git clone https://github.com/YoshiLoL0526/mcp-toolkit
cd mcp-toolkit
uv tool install --python 3.13 .选项 B — 直接从 GitHub 安装
uv tool install --python 3.13 git+https://github.com/YoshiLoL0526/mcp-toolkit强制步骤:为 Playwright 安装 Chromium
安装包后,仅需执行一次此命令:
# Obtener la ruta del entorno virtual creado por uv tool
uv tool run --from mcp-toolkit python -m playwright install chromium或者,如果你知道环境路径:
~/.local/share/uv/tools/mcp-toolkit/bin/python -m playwright install chromiumMCP 客户端配置
Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json)
{
"mcpServers": {
"mcp-toolkit": {
"command": "mcp-toolkit"
}
}
}在 Windows 上,路径为
%APPDATA%\Claude\claude_desktop_config.json
Cursor / VS Code (.cursor/mcp.json 或 .vscode/mcp.json)
{
"servers": {
"mcp-toolkit": {
"type": "stdio",
"command": "mcp-toolkit"
}
}
}HTTP 服务器(用于远程访问或多个客户端)
mcp-toolkit --transport http --host 0.0.0.0 --port 8080服务器将在 http://<host>:<port>/mcp 上监听,使用 streamable-http 传输(当前 MCP 标准)。你可以使用 --path /otra-ruta 更改路径。
--transport sse传输方式为了兼容旧客户端得以保留,但自 FastMCP 2.3 起已被弃用。
工具使用
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"示例(代理):
Busca las últimas noticias sobre Python 3.13 con deep=Truefetch_url
Parámetros:
url (str) — URL absoluta HTTP o HTTPS a leer示例(代理):
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 60示例(代理):
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"
)date_utils 支持的操作:parse、convert_timezone、add 和 diff。对于没有偏移量的日期,使用 timezone_name;时区必须是 IANA 名称,如 UTC、America/New_York 或 Europe/Madrid。
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")数据保存在 ~/.local/share/mcp-toolkit/memory.db 中。
所有内存工具都接受 namespace 参数,以便按项目、客户端或对话隔离数据。如果未指定,则使用 default。
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安全限制:
最小化环境:不继承宿主进程的密钥或任意变量
每次执行使用临时工作目录
HTTP 代理被环境变量覆盖
内存限制:256 MB (Linux/macOS)
严格超时:超时后进程将被终止
在 Windows 上,Python 不应用进程内存限制
网络锁定不能保证强隔离;对于不可信代码,建议在具有网络策略的容器或虚拟机中运行服务器
run_js
参数与 run_python 相同。需要系统中安装 Node.js。
开发
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添加新工具
创建
mcp_toolkit/tools/mi_tool.py,包含一个async def mi_tool(...) -> str函数在
server.py中导入并使用mcp.tool()(mi_tool)注册它重新安装:
uv tool install --python 3.13 . --reinstall
项目结构
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/许可证
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