Token导航 LogoToken导航TokenDH.com
Chiebukuro MCP logo
数据服务未说明官方级别未说明来源级核验

Chiebukuro MCP

MCP Server

一个只读的MCP服务器,支持多SQLite数据库管理并提供可选的vec0语义搜索功能。

工具数

6

提示词数

0

GitHub Stars

0

资源数

0
Ruby数据分析搜索Claude向量搜索Claude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

bash0C7

提供方

bash0C7

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

首席执行官

用于多个SQLite数据库的只读MCP服务器,具有可选的vec0语义搜索功能。

每个数据库的工具名称来源于配置键:

  • chiebukuro_query_ --仅限SELECT/WITH(INSERT/UPDATE/DELETE/DROP被拒绝)
  • chiebukuro_semantic_search_ --通过vec0进行KNN矢量搜索(仅在以下情况下注册 semantic_search 配置存在)

配置

服务器读取 ~/chiebukuro-mcp/chiebukuro.json 在启动时。

{
  "databases": {
    "my_db": {
      "path": "/absolute/path/to/database.db",
      "description": "Description shown in the MCP tool",
      "semantic_search": {
        "vec_table": "memories_vec",
        "content_table": "memories",
        "content_column": "content",
        "source_column": "source",
        "join_key": "memory_id"
      }
    }
  }
}

semantic_search 是可选的。对于没有vec0表的数据库,省略它。

检查数据库

使用 inspect 用于为任何SQLite数据库生成建议配置项的子命令:

bundle exec exe/chiebukuro-mcp inspect /path/to/database.db

输出包括 suggested_config 自动检测 semantic_search 如果找到vec0表,则进行设置。

集成

服务器通过以下方式启动 scripts/start_mcp.sh,它明确使用rbenv的bundler来避免系统与Ruby的冲突。

克劳德代码 --添加到 ~/.claude/settings.json:

"mcpServers": {
  "chiebukuro-mcp": {
    "type": "stdio",
    "command": "/path/to/chiebukuro-mcp/scripts/start_mcp.sh"
  }
}

克劳德桌面版 --添加到 ~/Library/Application Support/Claude/claude_desktop_config.json:

"mcpServers": {
  "chiebukuro-mcp": {
    "command": "/path/to/chiebukuro-mcp/scripts/start_mcp.sh"
  }
}

~/chiebukuro-mcp/chiebukuro.json 开始前必须存在--请参阅 配置 格式见上文。请将其保存在您的点文件中,而不是此存储库中。

试剂就绪的MCP表面

对于每个已配置的数据库,服务器现在除了公开 chiebukuro_query_chiebukuro_semantic_search_:

  • chiebukuro_explain_query_ --跑步 EXPLAIN QUERY PLAN 针对只读SELECT。
  • chiebukuro_query_with_clarification_ --自然语言意图驱动。使用MCP启发来填充插槽,然后执行配方模板。如果数据库没有配方,则返回到简单的查询指导。
  • schema:// --表和列的Markdown描述。
  • recipes:// --带有解释注释的配方查询模板的Markdown目录。
  • hints:// --列枚举值/样本值/注释规则的Markdown目录。

加上一个全球工具:

  • chiebukuro_probe_capabilities --报告连接的MCP主机是否声明 samplingelicitation 能力。

预填澄清参数

chiebukuro_query_with_clarification_ 暴露每一个 clarification_field 从DB的yml作为 顶级可选参数 工具本身。主机LLM(例如Claude Code)可以根据用户的自然语言意图预填充其中的任何一个,通常是根据当前日期解析的日期,或者 source_like 它映射到已知来源的模式,只有尚未解决的槽才能通过启发。

工具描述会自动添加前缀 [Agent usage] 提示告诉代理:

  • 解析日期表达式(今天/星期/今天/月/最近/N日前 / 具体日期)与当前日期进行比较,并将其作为日期参数传递。
  • 不预填充具有yml级别的插槽 default (通常 limit)除非用户明确要求特定计数,否则这些计数将在服务器端默默解决。

内部决议优先级 IntentAnalyzer:

  1. prefilled (主机LLM→ 刀具参数)--最高
  2. 意图字符串上的关键字匹配(通过 clarification_fields[].hints.keywords)
  3. yml字段级别 default
  4. 否则:留在 missing_fields 并通过启发式形式提问

skip_if_resolved: true (默认)从启发表单中删除任何已解析的槽,因此预填充是主持人避免打扰用户的方式。

工具的 input_schema 动态构建自 clarification_fields,因此向yml+重新运行添加插槽 apply_meta_patches.rb 就足够了——不需要更改服务器代码。

_sqlite_mcp_meta 扩展模式

每个DB都可以自我描述。 _sqlite_mcp_meta 有以下列:

使用人目的
object_type全部'db' / 'table' / 'column' / 'recipe' / 'clarification_field'
object_nameall目标名称(列使用 'table.column',食谱/插槽使用标签)
description所有人类可读文本
hints_jsoncolumn, clarification_fieldJSON格式 enum_values, sample_values, related_tables, note,或插槽属性
recipe_sqlrecipeSELECT/WITH模板,命名占位符 :key 允许
recipe_labelrecipe短显示标签

只有3列的旧式DB(object_type, object_name, description)桌子继续工作; MetaReader 默默地为它们返回空的食谱/提示。

优雅降级

如果数据库没有配方和clarification_fields,服务器:

  1. 将启动警告记录到stderr。
  2. 仍然注册所有工具和资源。
  3. query_with_clarification 短路和回流 fallback 告诉来电者开车的动作 chiebukuro_query_ / chiebukuro_semantic_search_ 直接使用 schema:// 为了定向。

配方/提示数据本身是在这个仓库之外管理的——请参见 dotfiles/chiebukuro-mcp/scripts/meta_patches/*.yml.

结构化呼叫日志(stderr)

每个MCP工具调用都会向stderr发出一行JSON条目,以便主机端日志使用者可以在不接触存储库的情况下审核路由决策和工具选择。

例子:

{"ts":"2026-04-18T11:01:08+09:00","kind":"tool_call","tool":"chiebukuro_query_health","db":"health","result_rows":7,"elapsed_ms":42}

领域:

  • ts --ISO8601调用开始(JST)。
  • kindtool_call (保留给未来的种类,如 resource_read).
  • tool --MCP工具的完整名称。
  • db --目标数据库名称,或 - 对于独立于数据库的工具(例如。 chiebukuro_probe_capabilities).
  • result_rows --响应中的尽力行数(解析失败时为0)。
  • elapsed_ms --整数毫秒。

JSON行({ 前缀)与现有的人类可读启动警告脱节([chiebukuro-mcp] ..., [ 前缀),所以下游 grep / jq 可以按第一个字符将其拆分。

这纯粹是累加性的——没有MCP协议的影响,也没有对工具结果的改变。

发展

bundle config set --local path vendor/bundle
bundle install
bundle exec rake test

目录标签

目录标签

Ruby数据分析搜索Claude向量搜索本地部署SQLite管理语义搜索数据库查询MCP工具

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

6

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP