MCP Standardized Tool Demo

MCP Standardized Tool Demo

A Node.js-based MCP server that extracts numbers from text and generates statistical chart data such as bar, pie, and line charts based on frequency. It enables AI agents to perform data extraction and visualization tasks through the Model Context Protocol.

Category
访问服务器

README

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。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选