使用说明
项目简介
该项目 'mcp-servers' 仓库为 Cursor AI 代码编辑器提供了两种 Model Context Protocol (MCP) 服务器的实现,分别是:
- PostgreSQL MCP Server: 允许 Cursor AI 与 PostgreSQL 数据库进行交互,提供数据库分析、模式管理、数据迁移和监控等功能。
- Obsidian MCP Server: 允许 Cursor AI 与 Obsidian.md 笔记软件进行交互,实现笔记的搜索、读取和写入等操作。
通过部署这些 MCP 服务器,Cursor AI 可以连接到外部数据源和工具,从而增强其代码理解和生成能力。
主要功能点
PostgreSQL MCP Server:
- 数据库分析: 分析 PostgreSQL 数据库的配置和性能。
- Schema 管理: 获取数据库 Schema 信息,创建和修改数据表。
- 数据迁移: 导出和导入数据表,数据库之间复制数据。
- 数据库监控: 实时监控数据库性能指标。
- 函数和触发器管理: 管理 PostgreSQL 函数和触发器。
- 行级安全性 (RLS) 管理: 管理 PostgreSQL 行级安全策略。
- SQL 查询: 执行 SQL SELECT 查询。
- 数据库连接管理: 管理和配置多个数据库连接。
Obsidian MCP Server:
- 文件列表: 列出 Obsidian Vault 中的文件和目录。
- 内容搜索: 在 Obsidian 笔记中进行简单和复杂搜索。
- 内容读取: 获取指定 Obsidian 笔记的内容。
- 内容写入: 创建、追加和修改 Obsidian 笔记的内容。
- 批量文件读取: 批量获取多个 Obsidian 笔记的内容。
安装步骤
通用前提条件:
- Node.js 18 或更高版本
- Python 3.11 或更高版本,并安装 pip
- Obsidian.md 软件,并安装 Local REST API 插件 (Obsidian 服务器需要)
- PostgreSQL 数据库 (PostgreSQL 服务器需要)
PostgreSQL MCP Server 安装步骤:
- 导航到 PostgreSQL MCP 服务器目录:
cd postgresql-mcp - 安装依赖并构建项目:
构建后的服务器文件位于 'build/index.js'。npm install npm run build
Obsidian MCP Server 安装步骤:
- 在 Obsidian 中安装并启用 Local REST API 插件,并复制 API 密钥。
- 导航到 Obsidian MCP 服务器目录:
cd obsidian-mcp - 安装 Python 包:
pip install -e . - 设置 API 密钥,可以通过 '.env' 文件或 MCP 配置文件进行设置。
服务器配置
MCP 服务器需要配置在 MCP 客户端 (例如 Cursor AI) 的配置文件中,以便客户端能够连接和使用服务器提供的功能。 在 Cursor AI 中,MCP 配置文件通常位于 '~/.cursor/mcp.json'。
以下是配置示例,请根据实际路径和连接信息进行修改:
{ "mcpServers": { "postgresql-mcp": { "command": "node", "args": ["/path/to/mcp-servers/postgresql-mcp/build/index.js"], "env": { "PG_DB_MAP": "{\"db1\":\"postgresql://username:password@hostname:5432/database_name?sslmode=require\",\"analytics\":\"postgresql://analytics_user:[email protected]:5432/analytics?sslmode=require\",\"default\":\"db1\"}" }, "name": "postgresql-mcp" // 服务器名称,用于在 Cursor AI 中引用 }, "mcp-obsidian": { "command": "/path/to/python/bin/mcp-obsidian", "args": [], "env": { "OBSIDIAN_API_KEY": "your_api_key_here" }, "name": "mcp-obsidian" // 服务器名称,用于在 Cursor AI 中引用 } } }
配置参数说明:
- server name: 在 'mcpServers' 下配置的服务器名称,例如 'postgresql-mcp' 或 'mcp-obsidian',这个名称会在 Cursor AI 配置文件中被引用。
- command: 启动 MCP 服务器的命令。
- PostgreSQL: 通常为 'node',表示使用 Node.js 运行 JavaScript 文件。
- Obsidian: 通常为 Python 解释器的路径加上 'mcp-obsidian' 启动脚本的路径,例如 '/path/to/python/bin/mcp-obsidian'。
- args: 传递给 'command' 的参数,用于指定服务器的具体启动文件或其他选项。
- PostgreSQL: 通常是 PostgreSQL 服务器入口文件 'build/index.js' 的绝对路径。
- Obsidian: 通常为空数组 '[]',因为 Obsidian 服务器的启动脚本已经包含了所有必要的逻辑。
- env: 环境变量配置。
- PostgreSQL:
- 'PG_DB_MAP': 用于配置数据库连接信息,JSON 格式的字符串,可以配置多个数据库连接,并指定默认连接。请将 'postgresql://username:password@hostname:5432/database_name?sslmode=require' 替换为你的 PostgreSQL 数据库连接字符串。
- Obsidian:
- 'OBSIDIAN_API_KEY': Obsidian Local REST API 插件的 API 密钥,请将 'your_api_key_here' 替换为你在 Obsidian 插件设置中复制的 API 密钥。
- PostgreSQL:
基本使用方法
配置完成后,在 Cursor AI 中即可通过自然语言指令调用 MCP 服务器的功能。
PostgreSQL MCP Server 使用示例:
- "Analyze my PostgreSQL database at postgresql://user:password@localhost:5432/dbname"
- "Show me the schema for the users table in my PostgreSQL database"
- "Create a new products table with id, name, price, and created_at columns"
- "Monitor my database performance and show me any queries taking longer than 30 seconds"
Obsidian MCP Server 使用示例:
- "List all files in my Obsidian vault"
- "Get the content of my note called 'Project Requirements'"
- "Search my vault for all mentions of 'machine learning'"
- "Create a new note called 'Meeting Summary' with a summary of the latest project meeting"
- "Add today's tasks to my 'Daily Notes' file under the heading 'Tasks'"
请注意:
- 请务必替换配置文件中的路径、数据库连接信息和 API 密钥为你的实际值。
- PostgreSQL 连接字符串包含敏感信息,请谨慎管理。
- Obsidian MCP 服务器具有读写 Obsidian Vault 的权限,请仔细审查权限设置。
- 两个服务器默认都在本地运行,不会对外暴露网络服务。
信息
分类
数据库与文件