Robertoamoreno_couchdb Mcp Server

Robertoamoreno_couchdb Mcp Server

🚀 CouchDB-MCP-Server

一个用于与CouchDB交互的模型上下文协议(Model Context Protocol)服务器。它基于TypeScript构建,提供了管理CouchDB数据库和文档的工具,让AI助手能通过简单接口与CouchDB进行交互。

🚀 快速开始

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

使用以下环境变量配置服务器:

COUCHDB_URL=http://localhost:5984
COUCHDB_VERSION=3.0.1

默认情况下,服务器会连接到本地运行的CouchDB实例。

安装依赖

npm install

构建

npm run build

运行测试

npm test

调试

使用以下命令启动调试工具:

npm run debug

通过Smithery安装

在Smithery平台使用以下命令安装服务器:

smith install @robertoamoreno/couchdb-mcp-server

✨ 主要特性

工具

基础工具(所有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:索引名称
    • 移除指定的索引
  • listIndexes - 列出所有索引

    • 返回数据库中所有索引的信息

版本支持

该服务器会根据CouchDB版本启用不同的功能:

  • 在CouchDB 2.x及以上版本上运行
  • 根据检测到的CouchDB版本自动启用相应特性

🔧 技术细节

该服务器包含强大的错误处理功能,覆盖常见场景:

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

所有错误都会通过MCP协议以适当的错误代码和消息格式返回。

  • 0 关注
  • 0 收藏,10 浏览
  • system 提出于 2025-09-24 17:57

相似服务问题