CouchDB管理服务器

一个基于TypeScript的MCP服务器,提供管理CouchDB数据库和文档的工具,使AI助手能够通过简单接口与CouchDB交互。

  • by robertoamoreno
  • JavaScript
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 robertoamoreno/couchdb-mcp-server

使用说明

couchdb-mcp服务器

用于与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
    • 返回文档内容

芒果查询工具(仅限CouchDB 3.x+)

  • createMangoIndex -创建新的芒果索引

    • 所需参数:
      • dbName:数据库名称
      • indexName:索引名称
      • fields:要索引的字段名数组
    • 创建新索引以实现高效查询
  • deleteMangoIndex -删除芒果索引

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

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

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

版本支持

服务器会自动检测CouchDB版本并相应地启用功能:

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

配置

服务器需要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安装

通过以下方式自动安装Claude Desktop的couchdb-mcp服务器 史密瑟里:

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检查员,可作为包脚本使用:

npm run inspector

检查器将提供一个URL,用于访问浏览器中的调试工具。

错误处理

服务器包括针对常见场景的强大错误处理:

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

所有错误都经过正确格式化,并通过MCP协议返回相应的错误代码和消息。