返回市场
工具获取MCP

工具获取MCP

作者:SylphxAI4 星标更新:2025-11-12

项目介绍

@sylphlab/tools-fetch-mcp

NPM 版本

通过模型上下文协议(MCP)远程执行HTTP请求。

此包提供了一个可运行的MCP服务器,该服务器公开了网络获取能力,可能基于在@sylphlab/tools-net中定义的工具。

目的

此服务器允许MCP客户端(如AI代理或其他应用程序)通过HTTP/HTTPS请求网络资源。它充当一个安全网关,从@sylphlab/tools-net中提取核心获取逻辑,并使用@sylphlab/tools-adaptor-mcp进行适配,然后通过MCP标准(标准I/O)提供服务。这对于需要与外部API交互或检索网页内容但自身可能没有直接网络访问权限的代理来说至关重要。

功能

  • MCP服务器: 实现用于工具执行的模型上下文协议。
  • 公开获取工具: 提供一个工具(可能命名为fetch或类似名称),用于执行HTTP/HTTPS请求(GET、POST等)。
    • 支持各种方法、头信息和正文负载。
    • 返回响应状态、头信息和正文内容。
  • 可执行文件: 提供一个二进制文件(mcp-fetch)以方便执行。
  • 安全: 作为由MCP客户端发起的网络请求的受控接口。

安装

此包旨在作为独立服务器使用。

使用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)"
    }
  }
}

本地构建(用于开发)

  1. 构建: 在单个仓库根目录下:pnpm build --filter @sylphlab/tools-fetch-mcp
  2. 配置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开发。