Skip to main content
Glama
furenqiang-study

MCP Standardized Tool Demo

MCP 标准化工具 Demo

这是一个基于 Node.js 和 TypeScript 开发的 Model Context Protocol (MCP) 标准化工具演示项目。

功能说明

该项目实现了一个 MCP 服务器,提供了数字提取和图表汇总功能。主要功能包括:

  • 从文本中提取数字

  • 统计数字出现频率

  • 生成图表数据(支持柱状图、饼图、折线图)

  • 遵循 MCP 协议,支持与 AI 代理进行交互

技术栈

  • Node.js - 运行环境

  • TypeScript - 编程语言

  • Express.js - Web 框架

  • Zod - Schema 验证库

  • @modelcontextprotocol/sdk - MCP SDK

安装步骤

1. 克隆或进入项目目录

d: cd work\MyVueProject\2025\my_mcp_demo

2. 安装依赖

npm install

使用方法

启动服务

开发模式(使用 ts-node)

npm run dev

编译并启动(生产模式)

# 编译 TypeScript 代码
npm run build

# 启动编译后的代码
npm start

服务启动后,会在以下地址运行:

  • MCP 端点:http://localhost:3000/mcp

  • 健康检查:http://localhost:3000/health

API 接口

1. 健康检查

GET /health

返回服务器状态信息。

2. MCP 初始化

POST /mcp
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "initialize"
}

返回 MCP 服务器的元信息和能力。

3. 工具列表

POST /mcp
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "id": "2",
  "method": "tools/list"
}

返回可用的工具列表。

4. 调用工具

POST /mcp
Content-Type: application/json

{
  "jsonrpc": "2.0",
  "id": "3",
  "method": "tools/call",
  "params": {
    "name": "extract_numbers",
    "arguments": {
      "content": "测试数据 111、222、333",
      "chartType": "bar"
    }
  }
}

调用数字提取和图表汇总工具。

工具列表

extract_numbers

名称:extract_numbers 标题:数字提取与图表汇总 描述:检查用户输入的内容中是否有数字,如果有,就将数字都提取出来,用图表进行汇总

输入参数

  • content (string):要检查的用户输入内容

  • chartType (string, 可选):图表类型,支持 "bar"、"pie"、"line",默认为 "bar"

输出结果

  • 提取的数字列表

  • 数字出现频率统计

  • 生成的图表数据

开发说明

项目结构

my_mcp_demo/
├── src/
│   └── simple-mcp-server.ts  # 主 MCP 服务器实现
├── dist/                      # 编译后的 JavaScript 文件
├── package.json               # 项目配置
├── tsconfig.json              # TypeScript 配置
└── README.md                  # 项目说明文档

编译代码

npm run build

代码检查

# 检查 TypeScript 类型
npm run typecheck

# 检查代码风格
npm run lint

MCP 协议

本项目遵循 MCP (Model Context Protocol) 协议,该协议用于 AI 代理与外部工具进行交互。

主要支持的 MCP 方法:

  • initialize - 初始化连接

  • tools/list - 获取工具列表

  • tools/call - 调用工具

部署

本地部署

按照上述使用方法启动服务即可。

生产部署

  1. 编译代码:npm run build

  2. 使用 PM2 或其他进程管理器启动服务:

npm install -g pm2
npm run build
npm start

许可证

MIT

联系方式

如有问题或建议,欢迎提出 Issue 或 Pull Request。

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

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/furenqiang-study/mcp_demo'

If you have feedback or need assistance with the MCP directory API, please join our Discord server