Flexible Key-Value Extracting MCP Server

Flexible Key-Value Extracting MCP Server

site icon
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.jsonenv 中设置)

安装教程

通过 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}"
  }
}

许可证

该项目遵循 GPL-3.0 开源许可条款,请参阅 GPL-3.0 了解完整条款。