mcpField
C
couchdb-mcp-server

couchdb-mcp-server

本地服务
github.com/robertoamoreno数据库587 周前更新

关于 couchdb-mcp-server

couchdb-mcp-server 是用于管理 CouchDB 数据库和文档的 TypeScript MCP 服务。它提供跨版本的基础操作,并为 CouchDB 3.x 及更高版本提供 Mango 索引和查询功能。

主要功能

  1. 01创建、列出和删除数据库
  2. 02创建、更新和读取文档
  3. 03创建和删除 Mango 索引
  4. 04列出索引并查询文档
  5. 05按版本启用功能
  6. 06格式化 MCP 错误

适用场景

  1. 01通过 AI 助手管理 CouchDB 数据库
  2. 02读取和更新 CouchDB 文档
  3. 03使用 Mango 查询 CouchDB 3.x 数据

MCP 相关

该服务将 CouchDB 数据库、文档、索引和查询操作作为工具提供给 MCP 客户端。Mango 查询工具适用于 CouchDB 3.x 及更高版本。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"couchdb": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

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

安装包
npm@smithery/cli

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

couchdb-mcp-server

smithery badge

用于与 CouchDB 交互的模型上下文协议服务

这是一个基于 TypeScript 的 MCP 服务,提供用于管理 CouchDB 数据库和文档的工具。它让 AI 助手能够通过简单的界面与 CouchDB 交互。

功能

工具
基础工具(适用于所有 CouchDB 版本)
  • createDatabase - 创建新的 CouchDB 数据库

    • 必须提供 dbName 参数
    • 如果数据库不存在,则创建该数据库
  • listDatabases - 列出所有 CouchDB 数据库

    • 返回数据库名称数组
  • deleteDatabase - 删除 CouchDB 数据库

    • 必须提供 dbName 参数
    • 删除指定的数据库及其中的所有文档
  • createDocument - 在数据库中创建新文档或更新现有文档

    • 必需参数:
      • dbName:数据库名称
      • docId:文档 ID
      • data:文档数据(JSON 对象)
        • 更新时,请在其中包含带有当前文档修订版本的 _rev 字段
    • 返回:
      • 对于新文档:文档 ID 和新修订版本
      • 对于更新的文档:文档 ID 和更新后的修订版本
    • 根据是否存在 _rev 字段,自动判断操作是创建还是更新
  • getDocument - 从数据库获取文档

    • 必需参数:
      • dbName:数据库名称
      • docId:文档 ID
    • 返回文档内容
Mango 查询工具(仅适用于 CouchDB 3.x+)
  • createMangoIndex - 创建新的 Mango 索引

    • 必需参数:
      • dbName:数据库名称
      • indexName:索引名称
      • fields:要建立索引的字段名称数组
    • 创建新索引以提高查询效率
  • deleteMangoIndex - 删除 Mango 索引

    • 必需参数:
      • dbName:数据库名称
      • designDoc:设计文档名称
      • indexName:索引名称
    • 删除现有的 Mango 索引
  • listMangoIndexes - 列出数据库中的所有 Mango 索引

    • 必需参数:
      • dbName:数据库名称
    • 返回数据库中所有索引的信息
  • findDocuments - 使用 Mango 查询文档

    • 必需参数:
      • dbName:数据库名称
      • query:Mango 查询对象
    • 使用 CouchDB 的 Mango 查询语法执行查询

版本支持

服务会自动检测 CouchDB 版本,并据此启用相应功能:

  • 所有版本:基本的数据库和文档操作
  • CouchDB 3.x+:支持 Mango 查询(索引和查询)

配置

服务需要 CouchDB 连接 URL 和版本号。可以通过环境变量提供:

COUCHDB_URL=http://username:password@localhost:5984
COUCHDB_VERSION=1.7.2

You can create a `.env` file in the project root with this configuration. If not provided, it defaults to `http://localhost:5984`.

## Development

Install dependencies:
```bash
npm install

构建服务:

npm run build

启用自动重新构建进行开发:

npm run watch

安装

通过 Smithery 安装

通过 Smithery 为 Claude Desktop 自动安装 couchdb-mcp-server:

npx -y @smithery/cli install @robertoamoreno/couchdb-mcp-server --client claude

如需与 Claude Desktop 配合使用,请添加服务配置:

MacOS:~/Library/Application Support/Claude/claude_desktop_config.json
Windows:%APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "couchdb-mcp-server": {
      "command": "/path/to/couchdb-mcp-server/build/index.js",
      "env": {
        "COUCHDB_URL": "http://username:password@localhost:5984"
      }
    }
  }
}
前置条件
  • Node.js 14 或更高版本
  • 正在运行的 CouchDB 实例
  • 如果启用了身份验证,则需要有效的 CouchDB 凭据
调试

由于 MCP 服务通过 stdio 进行通信,调试可能颇具挑战。我们建议使用 MCP Inspector,它可通过包脚本运行:

npm run inspector

Inspector 会提供一个 URL,供你在浏览器中访问调试工具。

错误处理

该服务针对常见情况提供了稳健的错误处理:

  • 无效的数据库名称或文档 ID
  • 数据库已存在/不存在
  • 连接问题
  • 身份验证失败
  • 文档数据无效

所有错误都会经过适当格式化,并通过 MCP 协议返回,同时包含相应的错误代码和消息。

评论

支持 Markdown

第一次接触 MCP?

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

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