使用说明

项目简介

TeaApp MCP Server API 是一个基于 Model Context Protocol (MCP) 的后端服务器实现,它使用 TypeScript 开发,旨在演示 MCP 的核心概念。该服务器提供了一个简单的笔记系统和LTE展会信息查询工具,展示了如何通过 MCP 协议向 LLM 客户端提供资源、工具和 Prompt 功能。

主要功能点

  • 资源 (Resources):
    • 提供对文本笔记的资源管理,每篇笔记都有唯一的 URI (例如 'note:///1')。
    • 可以列出所有笔记资源,并读取指定 URI 的笔记内容。
    • 笔记以纯文本 ('text/plain') MIME 类型提供。
  • 工具 (Tools):
    • 'create_note': 创建一个新的文本笔记。需要提供笔记的标题 (title) 和内容 (content) 作为参数。
    • 'query_lte_events': 根据日期查询LTE展会活动信息。需要提供日期 (date) 作为参数,日期可选范围为 "2024-12-11", "2024-12-12", "2024-12-13"。
  • Prompt 模板 (Prompts):
    • 'summarize_notes': 生成一个 Prompt,用于总结所有已存储的笔记内容。Prompt 中会嵌入所有笔记作为资源,以便 LLM 进行总结。

安装步骤

  1. 克隆仓库: 首先,你需要克隆 GitHub 仓库到本地:
    git clone https://github.com/edcity-mlearning/teaapp-mcp-api.git
    cd teaapp-mcp-api
  2. 安装依赖: 使用 npm 安装项目依赖:
    npm install
  3. 构建项目: 构建 TypeScript 代码:
    npm run build
    构建成功后,会在 'build' 目录下生成 'index.js' 文件,这是服务器的入口文件。

服务器配置

要将 TeaApp MCP Server API 集成到 MCP 客户端(例如 Claude Desktop),你需要配置客户端的服务器配置文件。以 Claude Desktop 为例,你需要编辑 'claude_desktop_config.json' 文件,文件路径如下:

  • MacOS: '~/Library/Application Support/Claude/claude_desktop_config.json'
  • Windows: '%APPDATA%/Claude/claude_desktop_config.json'

在 'mcpServers' 字段中添加一个新的服务器配置项,配置信息如下:

{
  "mcpServers": {
    "teaapp-mcp-api": {
      "command": "/path/to/teaapp-mcp-api/build/index.js"
    }
  }
}

配置说明:

  • '"teaapp-mcp-api"': 服务器名称,可以自定义,用于在客户端中标识该服务器。
  • '"command"': 重要:服务器启动命令。你需要将 '"/path/to/teaapp-mcp-api/build/index.js"' 替换为 你本地仓库 'build/index.js' 文件的绝对路径。 例如,如果你的仓库在 '/Users/yourname/Documents/teaapp-mcp-api',则应配置为 '"/Users/yourname/Documents/teaapp-mcp-api/build/index.js"'。

注意: 此配置中没有 'args' 字段,因为该服务器默认通过标准输入/输出 (stdio) 进行通信,无需额外的启动参数。

基本使用方法

  1. 启动服务器: 配置完成后,当 MCP 客户端(如 Claude Desktop)启动时,TeaApp MCP Server API 也会随之启动。服务器通过标准输入/输出与客户端通信。

  2. 资源访问: 客户端可以请求列出和读取笔记资源。

    • 列出资源: 客户端可以发送 'ListResourcesRequest' 请求,服务器会返回所有笔记资源的列表,每个资源包含 URI、MIME 类型、名称和描述。
    • 读取资源: 客户端可以发送 'ReadResourceRequest' 请求,并指定笔记的 URI (例如 'note:///1'),服务器会返回该笔记的内容。
  3. 工具调用: 客户端可以调用服务器提供的工具。

    • 创建笔记: 客户端可以调用 'create_note' 工具,并提供 'title' 和 'content' 参数来创建新的笔记。
    • 查询LTE展会信息: 客户端可以调用 'query_lte_events' 工具,并提供 'date' 参数(例如 "2024-12-11")来查询指定日期的LTE展会信息。服务器会返回包含展会信息的 JSON 字符串。
  4. Prompt 使用: 客户端可以请求获取预定义的 Prompt。

    • 获取 Prompt: 客户端可以发送 'GetPromptRequest' 请求,并指定 Prompt 名称 'summarize_notes',服务器会返回一个包含指令和嵌入笔记资源的 Prompt 消息,客户端可以将此 Prompt 发送给 LLM 进行笔记总结。

调试: 如果需要调试 MCP 服务器,可以使用 README 中推荐的 MCP Inspector 工具,通过 'npm run inspector' 启动。

信息

分类

生产力应用