ApiTap 基于 Model Context Protocol 的后端 MCP 服务器实现

Markdown 使用说明

  • 项目简介

    • ApiTap 是一个基于 MCP 的后端服务器实现,旨在为大语言模型客户端提供结构化的“上下文”资源、可调用工具以及可定制的提示模板,方便以统一的 JSON-RPC 方式访问和扩展能力。
  • 主要功能点

    • 资源管理:托管和管理可被 LLM 客户端访问的数据资源(Resources)。
    • 工具注册与执行:注册可被 LLM 调用的工具(Tools),支持通过 MCP 调用外部功能。
    • Prompt 模板:定义和渲染可定制的 Prompt 模板,支持多种交互模式。
    • JSON-RPC 通信:与客户端通过 JSON-RPC 协议进行请求与响应。
    • 会话与能力声明:服务器端维护会话状态、能力声明。
    • 传输协议支持:支持多种传输通道,如 Stdio、SSE、WebSocket,方便嵌入在不同环境中。
    • 安全与扩展性:提供签名、权限控制、以及对外部依赖的安全处理。
  • 安装步骤

    • 通过 npm 安装并全局使用 MCP 服务端:
      • npm install -g @apitap/core
    • 启动 MCP 服务:apitap-mcp
    • 注:本文仓库中提供了一个完整的 MCP 服务实现及其工具集,直接使用命令即可启动服务。
  • 服务器配置(MCP 客户端使用的配置示例)

    • MCP 客户端需要配置一个或多个 MCP 服务器,以便建立连接与调用工具。下面给出一个准确的配置示例(仅为说明用途,实际使用时请放置在 MCP 客户端配置文件中): { "mcpServers": { "apitap": { "command": "apitap-mcp" } } }
    • 说明:
      • server 名称:apitap
      • command:启动 MCP 服务器的命令,仓库中提供的默认命令为 apitap-mcp
      • 该配置仅用于 MCP 客户端在本地或远端发现并连接到服务端。MCP 客户端端无需读取此配置来执行实际操作,但需知道服务器名称与启动方式以建立连接。
  • 基本使用方法

    • 启动与连接
      • 启动 MCP 服务器:执行 apitap-mcp
      • MCP 客户端(如 Claude Desktop、Cursor、Windsurf 等)通过上述服务器配置连接到该 MCP 服务器
    • 演示能力
      • 服务器暴露若干工具与技能文件,LLM 客户端可通过 MCP 调用实现读取资源、执行工具与渲染 Prompts 的能力
    • 安全与合规
      • Skill 文件和请求在导出/导入时进行 scrub,避免暴露凭证
      • 服务器端具备对 URL、Headers、Body 的安全策略,防止 SSRF、敏感信息泄露等风险
  • 额外信息

    • 项目内部还包含用于扩展和测试的扩展组件、域名多域支持、以及对高阶 MCP 行为的测试用例,确保与 MCP 生态的良好兼容性。

服务器信息