使用说明
couchdb-mcp服务器
用于与CouchDB交互的模型上下文协议服务器
这是一个基于TypeScript的MCP服务器,提供管理CouchDB数据库和文档的工具。它使AI助手能够通过一个简单的界面与CouchDB进行交互。
特性
工具
基础工具(所有CouchDB版本)
-
createDatabase-创建新的CouchDB数据库- 拿
dbName作为必需参数 - 如果数据库不存在,则创建数据库
- 拿
-
listDatabases-列出所有CouchDB数据库- 返回数据库名称数组
-
deleteDatabase-删除CouchDB数据库- 拿
dbName作为必需参数 - 删除指定的数据库及其所有文档
- 拿
-
createDocument-在数据库中创建新文档或更新现有文档- 所需参数:
dbName:数据库名称docId:文档IDdata:文档数据(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协议返回相应的错误代码和消息。
