Flexible Key-Value Extracting MCP Server

Flexible Key-Value Extracting MCP Server

site icon
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.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 了解完整条款。