Custom Context MCP Server

Custom Context MCP Server

一个模型上下文协议服务器,它使用带有占位符的模板将文本转换为结构化的 JSON 数据。

Category
访问服务器

Tools

group-text-by-json

Gives a prompt text for AI to group text based on JSON placeholders. This tool accepts a JSON template with placeholders.

text-to-json

Converts groupped text from group-text-by-json tool to JSON. This tool accepts a JSON template with placeholders and groupped text from group-text-by-json tool.

README

自定义上下文 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"
}

它从文本中提取键值对,并根据模板对其进行结构化。

示例工作流程

  1. 定义带有占位符的 JSON 模板:

    {
    	"item": {
    		"name": "<name>",
    		"price": "<price>",
    		"description": "<description>"
    	}
    }
    
  2. 使用 group-text-by-json 为 AI 创建提示:

    • 该工具识别占位符键:name、price、description
    • 生成一个提示,指示 AI 按这些键对信息进行分组
  3. 将提示发送到 AI 模型并接收分组的文本:

    name: Blue Pen
    price: $2.99
    description: A smooth-writing ballpoint pen with blue ink
    
  4. 使用 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"
	}
}

实现细节

服务器的工作方式如下:

  1. 分析 JSON 模板以提取占位符键
  2. 生成提示,指导 AI 模型按这些键提取信息
  3. 解析 AI 生成的文本以提取键值对
  4. 根据原始模板结构重建 JSON 对象

开发

前提条件

  • Node.js v18 或更高版本
  • npm 或 yarn

构建和运行

# 安装依赖
npm install

# 构建项目
npm run build

# 运行服务器
npm start

# 使用热重载进行开发
npm run dev:watch

自定义热重载

此项目包含一个自定义热重载设置,它结合了:

  • nodemon: 监视 src 目录中的文件更改并重建 TypeScript 文件
  • browser-sync: 在构建文件更改时自动刷新浏览器
  • 并发执行: 同时运行两个服务,并进行输出同步

该设置配置在:

  • nodemon.json: 控制 TypeScript 监视和重建
  • package.json: 使用 concurrently 一起运行 nodemon 和 browser-sync

要使用自定义热重载功能:

npm run dev:watch

这将创建一个开发环境,其中:

  1. TypeScript 文件在更改时自动重建
  2. MCP 服务器使用更新后的代码重新启动
  3. 连接的浏览器刷新以显示最新更改

与 MCP Inspector 一起使用

您可以使用 MCP Inspector 进行调试:

npm run dev

这将运行带有 MCP Inspector 的服务器,以便对请求和响应进行可视化调试。

推荐服务器

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 模型以安全和受控的方式获取实时的网络信息。

官方
精选