
Flexible Key-Value Extracting MCP Server

2025.05.09
0
Python键值提取文本处理多语言支持开发效率
KunihiroS_kv-extractor-mcp-server 是一个灵活的关键值提取 MCP 服务器,专门用于从任意、嘈杂或非结构化的文本中提取键值对。它利用 LLMs (GPT-4.1-mini) 和 pydantic-ai 技术,确保类型安全并支持多种输出格式(JSON、YAML、TOML)。该服务器对任何输入都具有鲁棒性,并始终尝试尽可能多地结构化数据,但完美提取并不保证。
View on GitHub
Overview
基本能力
产品定位
KunihiroS_kv-extractor-mcp-server 是一个专注于从非结构化文本中提取键值对的 MCP 服务器,特别适用于处理嘈杂或复杂的数据输入。
核心功能
- 自动键发现:能够自主识别和提取相关键值对,无需预定义键。
- 鲁棒性:处理任意、嘈杂或非结构化文本,标准 LLM 结构化输出可能失败的情况下表现优异。
- 多语言预处理:支持日语、英语和中文(简体和繁体)的命名实体识别(NER)。
- 迭代精炼和类型化:包括基于 LLM 的类型注释、类型评估和基于规则/LLM 回退的规范化。
- 类型安全和模式遵守:使用 Pydantic 确保输出不仅结构化,而且类型安全并符合定义的模式。
- 一致和可预测的输出:即使提取部分或遇到问题,也始终返回格式良好的响应。
适用场景
- 从嘈杂或非结构化文本中提取关键信息。
- 处理多语言文本(日语、英语、中文)。
- 需要类型安全和结构化输出的自动化系统。
工具列表
/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}"
}
}