通过模型上下文协议(MCP)远程执行HTTP请求。
此包提供了一个可运行的MCP服务器,该服务器公开了网络获取能力,可能基于在@sylphlab/tools-net中定义的工具。
此服务器允许MCP客户端(如AI代理或其他应用程序)通过HTTP/HTTPS请求网络资源。它充当一个安全网关,从@sylphlab/tools-net中提取核心获取逻辑,并使用@sylphlab/tools-adaptor-mcp进行适配,然后通过MCP标准(标准I/O)提供服务。这对于需要与外部API交互或检索网页内容但自身可能没有直接网络访问权限的代理来说至关重要。
fetch或类似名称),用于执行HTTP/HTTPS请求(GET、POST等)。
mcp-fetch)以方便执行。此包旨在作为独立服务器使用。
使用npm/pnpm/yarn(推荐)
作为依赖项安装或全局安装:
# 全局安装
npm install -g @sylphlab/tools-fetch-mcp
# 或在项目中安装
pnpm add @sylphlab/tools-fetch-mcp
配置您的MCP主机(例如mcp_settings.json)以使用npx或已安装的二进制路径:
// 使用npx
{
"mcpServers": {
"fetch-mcp": {
"command": "npx",
"args": ["@sylphlab/tools-fetch-mcp"],
"name": "获取工具(npx)"
}
}
}
// 或使用全局安装路径(示例)
{
"mcpServers": {
"fetch-mcp": {
"command": "mcp-fetch", // 假设已在PATH中
"name": "获取工具(全局)"
}
}
}
使用Docker(如果可用)
(假设存在Docker镜像sylphlab/tools-fetch-mcp:latest)
docker pull sylphlab/tools-fetch-mcp:latest
配置您的MCP主机:
{
"mcpServers": {
"fetch-mcp": {
"command": "docker",
"args": [
"run",
"-i", // 对于stdio通信是必需的
"--rm",
"sylphlab/tools-fetch-mcp:latest"
],
"name": "获取工具(Docker)"
}
}
}
本地构建(用于开发)
pnpm build --filter @sylphlab/tools-fetch-mcp{
"mcpServers": {
"fetch-mcp": {
"command": "node",
// 根据需要调整路径
"args": ["./packages/tools-fetch-mcp/dist/index.js"],
"name": "获取工具(本地构建)"
}
}
}
一旦服务器运行并配置在您的MCP主机上,客户端可以发送请求。
MCP请求示例(概念性的GET):
{
"tool_name": "fetch", // 假设工具名为'fetch'
"arguments": {
"url": "https://api.example.com/data",
"method": "GET",
"headers": {
"Accept": "application/json"
}
}
}
预期响应片段(概念性的):
{
"result": {
"status": 200,
"statusText": "OK",
"headers": {
"content-type": "application/json",
// ...其他头信息
},
"body": "{\"key\":\"value\"}" // 正文字符串
}
}
@modelcontextprotocol/sdk:用于创建MCP服务器实例。@sylphlab/tools-adaptor-mcp:将核心工具定义适配到MCP格式。@sylphlab/tools-net:包含执行HTTP请求的基础逻辑。@sylphlab/tools-core:提供基础工具定义结构。由Sylph Lab开发。