与CouchDB交互的模型上下文协议服务器
这是一个基于TypeScript的MCP服务器,提供了管理CouchDB数据库和文档的工具。它使AI助手能够通过简单的接口与CouchDB进行交互。
createDatabase - 创建一个新的CouchDB数据库
dbNamelistDatabases - 列出所有CouchDB数据库
deleteDatabase - 删除一个CouchDB数据库
dbNamecreateDocument - 在数据库中创建一个新的文档或更新现有文档
dbName: 数据库名称docId: 文档IDdata: 文档数据(JSON对象)
_rev字段_rev字段的存在自动检测是创建还是更新操作getDocument - 从数据库中获取文档
dbName: 数据库名称docId: 文档IDcreateMangoIndex - 创建一个新的Mango索引
dbName: 数据库名称indexName: 索引名称fields: 要索引的字段名称数组deleteMangoIndex - 删除一个Mango索引
dbName: 数据库名称designDoc: 设计文档名称indexName: 索引名称listMangoIndexes - 列出数据库中的所有Mango索引
dbName: 数据库名称findDocuments - 使用Mango查询查询文档
dbName: 数据库名称query: Mango查询对象服务器会自动检测CouchDB版本并启用相应功能:
服务器需要CouchDB连接URL和版本。这些可以通过环境变量提供:
COUCHDB_URL=http://username:password@localhost:5984
COUCHDB_VERSION=1.7.2
您可以在项目根目录创建一个`.env`文件来配置这些设置。如果没有提供,默认为`http://localhost:5984`。
## 开发
安装依赖项:
```bash
npm install
构建服务器:
npm run build
开发时自动重建:
npm run watch
要通过Smithery自动安装couchdb-mcp-server到Claude Desktop:
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"
}
}
}
}
由于MCP服务器通过标准I/O通信,调试可能会很困难。我们建议使用MCP Inspector,它作为包脚本提供:
npm run inspector
Inspector将提供一个URL,以便在浏览器中访问调试工具。
服务器包括针对常见情况的强大错误处理机制:
所有错误都经过适当的格式化并通过MCP协议返回,附带相应的错误代码和消息。