couchdb-mcp服务器
](https://smithery.ai/server/@robertoamoreno/couchdb-mcp-server)
用于与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:npm install
构建服务器:
npm run build
对于自动重建的开发:
npm run watch
## 安装
### 通过Smithery安装
通过以下方式自动安装Claude Desktop的couchdb-mcp服务器 [史密瑟里](https://smithery.ai/server/@robertoamoreno/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检查员](https://github.com/modelcontextprotocol/inspector),可作为包脚本使用:
npm run inspector
检查器将提供一个URL,用于访问浏览器中的调试工具。
## 错误处理
服务器包括针对常见场景的强大错误处理:
- 数据库名称或文档ID无效
- 数据库已存在/不存在
- 连接问题
- 身份验证失败
- 文档数据无效
所有错误都经过正确格式化,并通过MCP协议返回相应的错误代码和消息。