
Flexible Key-Value Extracting MCP Server

2025.05.07
0
Python键值提取多语言处理数据格式化开发效率
kv-extractor-mcp-server 是一个基于 LLM(GPT-4.1-mini)和 pydantic-ai 的 MCP 服务,用于从任意、嘈杂或非结构化的文本中提取键值对。它支持多种输出格式(JSON、YAML、TOML),并确保类型安全。该服务特别适用于处理复杂、不可预测的数据,能够自动发现和提取相关的键值对,而无需预先定义键。
View on GitHub
Overview
基本能力
产品定位
kv-extractor-mcp-server 是一个用于从非结构化文本中提取键值对的工具,特别适用于处理复杂、嘈杂或不可预测的数据。
核心功能
- 自动键发现:能够自主识别和提取相关的键值对,无需预先定义键。
- 多语言支持:支持日语、英语和中文(简体和繁体),使用 spaCy 进行命名实体识别(NER)。
- 类型安全:使用 Pydantic 确保输出数据的类型安全和验证。
- 多种输出格式:支持 JSON、YAML 和 TOML 格式的输出。
- 鲁棒性:能够处理任意输入,包括嘈杂或损坏的数据,并始终返回格式良好的响应。
适用场景
- 从非结构化文本中提取关键信息(如订单号、产品名称、价格等)。
- 处理多语言文本,尤其是日语、英语和中文。
- 需要类型安全输出的场景。
- 需要多种格式(JSON、YAML、TOML)输出的场景。
工具列表
/extract_json
:以 JSON 格式提取键值对。/extract_yaml
:以 YAML 格式提取键值对。/extract_toml
:以 TOML 格式提取键值对。
常见问题解答
- 支持的输入语言:日语、英语和中文(简体和繁体)。
- 处理时间:较长的输入句子需要更多时间处理。
- 首次启动:首次启动时会下载 spaCy 模型,因此需要更长时间。
使用教程
使用依赖
- Python 3.9+
- OpenAI 模型的 API 密钥(在
settings.json
的env
中设置)
安装教程
通过 Smithery 自动安装:
npx -y @smithery/cli install @KunihiroS/kv-extractor-mcp-server --client claude
手动运行服务器:
python server.py
调试方式
配置日志输出模式:
- 禁用所有日志:--log=off
- 启用日志并指定日志文件路径:--log=on --logfile=/absolute/path/to/logfile.log
示例配置(禁用日志):
"kv-extractor-mcp-server": {
"command": "pipx",
"args": ["run", "kv-extractor-mcp-server", "--log=off"],
"env": {
"OPENAI_API_KEY": "{apikey}"
}
}
示例配置(启用日志):
"kv-extractor-mcp-server": {
"command": "pipx",
"args": ["run", "kv-extractor-mcp-server", "--log=on", "--logfile=/workspace/logs/kv-extractor-mcp-server.log"],
"env": {
"OPENAI_API_KEY": "{apikey}"
}
}