一个全面的 模型上下文协议(MCP)服务器,为 Claude Desktop 和其他 MCP 客户端提供 Kafka Schema Registry 操作工具。支持高级模式上下文、多注册表管理和全面的模式导出功能。
<table width="100%"> <tr> <td width="33%" style="vertical-align: top;"> <div style="background-color: white; padding: 20px; border-radius: 10px;"> <img src="docs/logo_400_mcp_kafka_schema_reg.png" alt="Kafka Schema Registry MCP 徽标" width="100%"> </div> </td> <td width="67%" style="vertical-align: top; padding-left: 20px;">🎯 真正的 MCP 实现:使用现代 FastMCP 2.8.0+ 框架,完全符合 MCP 2025-06-18 规范。与 Claude Desktop 和其他使用
stdio上的 JSON-RPC 的 MCP 客户端完全兼容。
最新版本:v2.1.3 | Docker:aywengo/kafka-schema-reg-mcp:stable
# 最新的稳定版本
docker pull aywengo/kafka-schema-reg-mcp:stable
# 推荐:使用 SLIM_MODE 以获得最佳性能(减少基本工具集)
docker run -e SCHEMA_REGISTRY_URL=http://localhost:8081 -e SLIM_MODE=true aywengo/kafka-schema-reg-mcp:stable
# 或者运行完整的功能集,适用于管理员/SRE
docker run -e SCHEMA_REGISTRY_URL=http://localhost:8081 aywengo/kafka-schema-reg-mcp:stable
从 config-examples/ 复制一个准备好的配置:
# macOS
cp config-examples/claude_desktop_stable_config.json ~/Library/Application\ Support/Claude/claude_desktop_config.json
# Linux
cp config-examples/claude_desktop_stable_config.json ~/.config/claude-desktop/config.json
重启 Claude Desktop 并尝试以下提示:
📖 查看详细特性描述:docs/api-reference.md
# 生产稳定版
docker pull aywengo/kafka-schema-reg-mcp:stable
# 最新开发版
docker pull aywengo/kafka-schema-reg-mcp:latest
# 特定版本
docker pull aywengo/kafka-schema-reg-mcp:2.1.3
为了减少 LLM 开销,请启用 SLIM_MODE:
# 使用减少的基本工具集运行
docker run -e SCHEMA_REGISTRY_URL=http://localhost:8081 -e SLIM_MODE=true aywengo/kafka-schema-reg-mcp:stable
💡 SLIM_MODE 的好处:
- 将工具数量减少到基本子集
- 显著加快 LLM 响应时间
- 降低令牌使用量和成本
- 适合生产只读操作
- 维持完整的远程部署支持
git clone https://github.com/aywengo/kafka-schema-reg-mcp
cd kafka-schema-reg-mcp
pip install -r requirements.txt
python kafka_schema_registry_unified_mcp.py
docker-compose up -d # 包括用于测试的 Schema Registry
📖 详细的安装指南:docs/deployment.md
export SCHEMA_REGISTRY_URL="http://localhost:8081"
export SCHEMA_REGISTRY_USER="" # 可选
export SCHEMA_REGISTRY_PASSWORD="" # 可选
export VIEWONLY="false" # 生产安全
export SLIM_MODE="false" # 可选:启用以减少工具开销(默认:false)
# 开发注册表
export SCHEMA_REGISTRY_NAME_1="development"
export SCHEMA_REGISTRY_URL_1="http://dev-registry:8081"
export VIEWONLY_1="false"
# 生产注册表(带有安全措施)
export SCHEMA_REGISTRY_NAME_2="production"
export SCHEMA_REGISTRY_URL_2="http://prod-registry:8081"
export VIEWONLY_2="true" # 只读保护
预配置示例在 config-examples/ 中可用:
| 配置 | 使用场景 | 文件 |
|---|---|---|
| 生产 | 稳定的 Docker 部署 | claude_desktop_stable_config.json |
| 多环境 | DEV/STAGING/PROD 注册表 | claude_desktop_multi_registry_docker.json |
| 本地开发 | Python 本地执行 | claude_desktop_config.json |
| 只读安全 | 生产环境的安全 | claude_desktop_viewonly_config.json |
📖 完整的配置指南:config-examples/README.md
SLIM_MODE 将暴露的 MCP 工具数量减少到基本子集,显著减少了 LLM 开销并提高了响应时间。
💡 建议:对于大多数用例,推荐使用 SLIM_MODE,因为它提供了所有基本的模式管理能力,并具有最佳性能。
export SLIM_MODE="true" # 将工具数量从 57+ 减少到约 9
# 启用减少的基本工具集
基本只读工具:
ping - 服务器健康检查set_default_registry, get_default_registry - 注册表管理count_contexts, count_schemas, count_schema_versions - 统计信息基本写入操作:
register_schema - 注册新模式check_compatibility - 模式兼容性检查create_context - 创建新上下文基本导出操作:
export_schema - 导出单个模式export_subject - 导出所有主题版本资源(所有模式):
registry://, schema://, subject:// 资源 URISLIM_MODE 中隐藏的工具:
migrate_schema, migrate_context)clear_context_batch)export_context, export_global)*_interactive 变体)注意:通过重新启动并设置
SLIM_MODE=false可以切换回完整工具集。
本节提供了由 Kafka Schema Registry MCP 服务器公开的所有 MCP 工具和资源的全面分析。
这些工具是为了与现有客户端保持向后兼容而维护的。它们内部使用高效的实现,但作为工具公开,以防止“未列出的工具”错误。建议迁移到相应的资源以获得更好的性能。
| 工具名称 | SLIM_MODE | 范围 | 推荐资源 | 描述 |
|---|---|---|---|---|
list_registries | ✅ | 读取 | registry://names | 列出所有已配置的注册表 |
get_registry_info | ✅ | 读取 | registry://info/{name} | 获取注册表信息 |
test_registry_connection | ✅ | 读取 | registry://status/{name} | 测试注册表连接 |
test_all_registries | ✅ | 读取 | registry://status | 测试所有注册表连接 |
list_subjects | ✅ | 读取 | registry://{name}/subjects | 列出所有主题 |
get_schema | ✅ | 读取 | schema://{name}/{context}/{subject} | 获取模式内容 |
get_schema_versions | ✅ | 读取 | schema://{name}/{context}/{subject}/versions | 获取模式版本 |
get_global_config | ✅ | 读取 | registry://{name}/config | 获取全局配置 |
get_mode | ✅ | 读取 | registry://mode | 获取注册表模式 |
list_contexts | ✅ | 读取 | registry://{name}/contexts | 列出所有上下文 |
get_subject_config | ✅ | 读取 | subject://{name}/{context}/{subject}/config | 获取主题配置 |
get_subject_mode | ✅ | 读取 | subject://{name}/{context}/{subject}/mode | 获取主题模式 |
| 类别 | 名称 | 类型 | SLIM_MODE | 范围 | 描述 |
|---|---|---|---|---|---|
| 核心 | ping | 工具 | ✅ | 读取 | MCP 健康检查 |
| 注册表管理 | set_default_registry | 工具 | ✅ | 管理员 | 设置默认注册表 |
| 注册表管理 | get_default_registry | 工具 | ✅ | 读取 | 获取当前默认注册表 |
| 模式操作 | register_schema | 工具 | ✅ | 写入 | 注册新模式版本 |
| 模式操作 | check_compatibility | 工具 | ✅ | 读取 | 检查模式兼容性 |
| 上下文管理 | create_context | 工具 | ✅ | 写入 | 创建新上下文 |
| 上下文管理 | delete_context | 工具 | ❌ | 管理员 | 删除上下文 |
| 主题管理 | delete_subject | 工具 | ❌ | 管理员 | 删除主题及其版本 |
| 配置 | update_global_config | 工具 | ❌ | 管理员 | 更新全局配置 |
| 配置 | update_subject_config | 工具 | ❌ | 管理员 | 更新主题配置 |
| 配置 | add_subject_alias | 工具 | ❌ | 写入 | 创建指向现有主题的别名主题 |
| 配置 | delete_subject_alias | 工具 | ❌ | 写入 | 删除别名主题 |
| 模式管理 | update_mode | 工具 | ❌ | 管理员 | 更新注册表模式 |
| 模式管理 | update_subject_mode | 工具 | ❌ | 管理员 | 更新主题模式 |
| 统计信息 | count_contexts | 工具 | ✅ | 读取 | 计算上下文 |
| 统计信息 | count_schemas | 工具 | ✅ | 读取 | 计算模式 |
| 统计信息 | count_schema_versions | 工具 | ✅ | 读取 | 计算模式版本 |
| 统计信息 | get_registry_statistics | 工具 | ❌ | 读取 | 获取综合注册表统计信息 |
| 导出 | export_schema | 工具 | ✅ | 读取 | 导出单个模式 |
| 导出 | export_subject | 工具 | ✅ | 读取 | 导出所有主题版本 |
| 导出 | export_context | 工具 | ❌ | 读取 | 导出所有上下文主题 |
| 导出 | export_global | 工具 | ❌ | 读取 | 导出所有上下文/模式 |
| 导出 | export_global_interactive | 工具 | ❌ | 读取 | 交互式全局导出 |
| 迁移 | migrate_schema | 工具 | ❌ | 管理员 | 在注册表之间迁移模式 |
| 迁移 | migrate_context | 工具 | ❌ | 管理员 | 在注册表之间迁移上下文 |
| 迁移 | migrate_context_interactive | 工具 | ❌ | 管理员 | 交互式上下文迁移 |
| 迁移 | list_migrations |