mcpField
X
x402-codesearch-mcp

x402-codesearch-mcp

本地服务
github.com/liminalpepe开发工具013 周前更新

关于 x402-codesearch-mcp

x402-codesearch-mcp 是一个 MCP 服务,会将仓库文件发送到在线 Worker 进行分块、嵌入和索引。它适合为语义搜索准备代码;服务本身不提供搜索,搜索需另行付费调用 HTTP 接口。

主要功能

  1. 01通过在线 Worker 索引仓库文件
  2. 02分块并嵌入文件以供索引
  3. 03返回已索引文件数和分块数
  4. 04索引无需付款或 API 密钥
  5. 05不进行本地缓存或去重

适用场景

  1. 01在语义搜索前索引仓库文件
  2. 02将代码文件加入 Worker 搜索索引
  3. 03查看已索引的文件和分块数量

MCP 相关

提供一个 MCP 工具 `index_code`,将仓库文件发送到 Worker 的免费 `/index` 接口。它不提供搜索;语义查询需使用单独受 x402 付费门控的 `/search` 接口。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"liminalpepe-x402-codesearch": {
"command": "npx",
"args": [
"-y",
"x402-codesearch-mcp"
]
}
}
}
启动命令npx -y x402-codesearch-mcp

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmx402-codesearch-mcp0.1.0

工具

1

收录的工具列表 · 更新于 2 周前

参数类型必填说明
filesarray是要为此 repoId 编制索引的一个或多个文件
repoIdstring是用于将此仓库的索引分块归组的标识符,例如 "my-repo" 或 "owner/repo"

详细介绍

x402-codesearch-mcp

一个免费的 MCP(Model Context Protocol)服务,可通过一个 MCP 工具 index_code,将仓库文件分块并生成嵌入,然后免费索引到实时语义代码搜索 Worker 中。

这是付费、由 x402 门控的 HTTP API 的开放入口孪生版本:

x402-codesearch-poc.theliminalguy.workers.dev — 对 /search 发送 POST 请求,每次查询通过 x402 支付协议在 Base 上支付 0.01 USDC,以执行已索引仓库的实际语义搜索步骤。

它与其他免费孪生版本有何不同(请先阅读)

像 x402-repohealth-mcp 这样的同系列软件包,会在本地完整重写付费 Worker 的逻辑(纯函数,不依赖绑定外部账户的服务),并通过 MCP 免费提供全部功能。

此软件包无法做到这一点。付费 Worker 的语义搜索依赖两个绑定到 Cloudflare 账户的绑定,且没有免费的本地或可移植替代方案:

  • Workers AI(@cf/baai/bge-base-en-v1.5)——生成嵌入
  • Vectorize——存储嵌入,并通过余弦相似度进行查询

二者都只存在于 Worker 自己的 Cloudflare 账户中。无法在该账户之外免费运行它们,因此此 MCP 服务不会尝试伪造或代理它们。

真正免费的是实时 Worker 上的 POST /index——该步骤会对文件分块、生成嵌入,并将其写入该 Worker 自己的 Vectorize 索引。这是此软件包通过 MCP 工具提供的唯一真实、免费、无状态功能。对应的 POST /search 步骤仍按原样保留:直接向实时 Worker 发起真实的、由 x402 门控的 HTTP 调用。

功能介绍

一个工具:index_code:

  • 输入:{ repoId: string, files: [{ path: string, content: string }] }
  • 使用完全相同的请求体,调用 POST https://x402-codesearch-poc.theliminalguy.workers.dev/index(免费,无需付款)。
  • 输出:{ repoId, filesIndexed, chunksIndexed },以及一个 note 字段,提醒调用方,若要搜索刚刚索引的内容,需要使用付费端点。

它不提供 search_code 工具。要对使用此工具索引的数据进行语义搜索,必须直接调用由 x402 门控的端点:

POST https://x402-codesearch-poc.theliminalguy.workers.dev/search
Body: { "repoId": "...", "query": "..." }
Price: $0.01 USDC on Base, via the x402 protocol (e.g. x402-fetch / x402-axios)

未付款的 /search 请求会返回 402 Payment Required,并附带真实的 x402 支付说明。

安装与运行

npx x402-codesearch-mcp

也可以将其添加到 MCP 客户端配置中(例如 Claude Desktop 的 claude_desktop_config.json):

{
  "mcpServers": {
    "codesearch": {
      "command": "npx",
      "args": ["-y", "x402-codesearch-mcp"]
    }
  }
}

工具:index_code

输入:

{
  "repoId": "my-repo",
  "files": [
    { "path": "src/retry.py", "content": "def retry_with_backoff(...): ..." }
  ]
}

输出(MCP 工具文本内容,JSON 字符串化):

{
  "repoId": "my-repo",
  "filesIndexed": 1,
  "chunksIndexed": 2,
  "note": "Indexing succeeded (free). To semantically search this repoId, call the x402-gated POST https://x402-codesearch-poc.theliminalguy.workers.dev/search directly ($0.01 USDC on Base per query) — not available through this free MCP tool."
}

本地开发

npm install
npm run dev              # runs src/index.ts directly on stdio via tsx
npm run build             # compiles to dist/ for the published npm package
npm run test:index        # calls indexCode() directly against the real live Worker, no MCP transport

src/client.ts 和 src/types.ts 存放针对实时 Worker /index 端点的精简 HTTP 客户端;src/index.ts 则是围绕 indexCode() 的精简 MCP 包装器。

实际功能与限制

  • **真实可用:**此工具发出的 POST /index 调用会发送到实际运行中的 Worker。Worker 确实会对给定文件分块、确实会调用 Workers AI 生成嵌入,也确实会将其写入 Vectorize——这里没有任何模拟或硬编码。已通过实时 Worker 端到端验证(见下文)。
  • 确实免费:POST /index 无需付款,也无需 API 密钥——已通过实时测试确认,并非仅在文档中说明。
  • **不免费,且按设计不在此处提供:**同一 Worker 上的 POST /search。这是有意设定的范围界限,并非疏忽——参见上文“它与其他免费孪生版本有何不同”。
  • **没有本地缓存或去重:**每次调用 index_code 都会重新向实时 Worker 发送 POST 请求;对同一文件重新索引只会再次分块、生成嵌入并写入索引。

何时直接使用付费 HTTP 双生服务

在以下情况下,请直接对在线 Worker 使用 POST /search,而不是(或除了)使用此 MCP 服务:

  • 你已使用 index_code 为仓库建立索引,现在想对其进行语义搜索。
  • 你的 Agent 已支持 x402(例如通过 x402-fetch / x402-axios),并且可以为每次查询支付 $0.01 USDC(Base)。
  • 你需要生产级/高容量搜索——此 MCP 服务的 index_code 工具与所有其他调用方共用同一个免费 /index 端点,但 /search 无论调用方是谁,都会按调用次数计费。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。