使用说明
自定义上下文MCP服务器
此模型上下文协议(MCP)服务器提供了根据JSON模板从文本中结构化和提取数据的工具。
特性
文本到JSON转换
- 基于带占位符的JSON模板对文本进行分组和结构化
- 将AI生成的文本中的信息提取为结构化JSON格式
- 支持任何带有嵌套占位符的任意JSON结构
- 从文本中智能提取键值对
- 将AI输出处理为结构化数据,以供下游应用程序使用
入门指南
安装
npm install
运行服务器
npm start
对于热重载开发:
npm run dev:watch
用法
此MCP服务器提供两个主要工具:
1.按JSON分组文本(group-text-by-json)
该工具采用带有占位符的JSON模板,并生成一个提示,让AI根据模板的结构对文本进行分组。
{
"template": "{ \"type\": \"<type>\", \"text\": \"<text>\" }"
}
该工具分析模板,提取占位符键,并返回一个提示,引导AI以键值格式提取信息。
2.文本转换为JSON(text-to-json)
此工具获取上一步的分组文本输出,并将其转换为基于原始模板的结构化JSON对象。
{
"template": "{ \"type\": \"<type>\", \"text\": \"<text>\" }",
"text": "type: pen\ntext: This is a blue pen"
}
它从文本中提取键值对,并根据模板对其进行结构化。
工作流示例
-
定义一个带有占位符的JSON模板:
{ "item": { "name": "<name>", "price": "<price>", "description": "<description>" } } -
使用
group-text-by-json为AI创建提示:- 该工具可识别占位符键:名称、价格、描述
- 生成一个提示,指示AI按这些键对信息进行分组
-
将提示发送到AI模型并接收分组文本:
name: Blue Pen price: $2.99 description: A smooth-writing ballpoint pen with blue ink -
使用
text-to-json将分组文本转换为JSON:- 结果:
{ "item": { "name": "Blue Pen", "price": "$2.99", "description": "A smooth-writing ballpoint pen with blue ink" } }
模板格式
模板可以在有效JSON结构中的任何位置包含占位符:
- 使用尖括号定义占位符:
<name>,<type>,<price>等等。 - 模板必须是有效的JSON字符串
- 占位符可以处于任何嵌套级别
- 支持复杂的嵌套结构
带有嵌套占位符的示例模板:
{
"product": {
"details": {
"name": "<name>",
"category": "<category>"
},
"pricing": {
"amount": "<price>",
"currency": "USD"
}
},
"metadata": {
"timestamp": "2023-09-01T12:00:00Z"
}
}
实现细节
服务器的工作原理如下:
- 分析JSON模板以提取占位符键
- 生成提示,引导AI模型通过这些键提取信息
- 解析AI生成的文本以提取键值对
- 基于原始模板结构重建JSON对象
发展
先决条件
- Node.js v18或更高版本
- npm或纱线
构建并运行
# Install dependencies
npm install
# Build the project
npm run build
# Run the server
npm start
# Development with hot reloading
npm run dev:watch
自定义热重加载
此项目包括一个自定义热重新加载设置,该设置结合了以下内容:
- 节点:监视src目录中的文件更改并重建TypeScript文件
- 浏览器同步:生成文件更改时自动刷新浏览器
- 并发执行:同时运行两个服务并同步输出
设置配置在:
nodemon.json:控制TypeScript的监视和重建package.json:用于同时运行nodemon和浏览器同步
要使用自定义热重新加载功能,请执行以下操作:
npm run dev:watch
这创建了一个开发环境,其中:
- TypeScript文件在更改时会自动重建
- MCP服务器使用更新的代码重新启动
- 已连接的浏览器刷新以显示最新更改
与MCP检查器一起使用
您可以使用MCP检查器进行调试:
npm run dev
这将使用MCP检查器运行服务器,以便对请求和响应进行可视化调试。
