使用说明

项目简介

该项目 'mcp-servers' 仓库为 Cursor AI 代码编辑器提供了两种 Model Context Protocol (MCP) 服务器的实现,分别是:

  1. PostgreSQL MCP Server: 允许 Cursor AI 与 PostgreSQL 数据库进行交互,提供数据库分析、模式管理、数据迁移和监控等功能。
  2. 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 安装步骤:

  1. 导航到 PostgreSQL MCP 服务器目录:
    cd postgresql-mcp
  2. 安装依赖并构建项目:
    npm install
    npm run build
    构建后的服务器文件位于 'build/index.js'。

Obsidian MCP Server 安装步骤:

  1. 在 Obsidian 中安装并启用 Local REST API 插件,并复制 API 密钥。
  2. 导航到 Obsidian MCP 服务器目录:
    cd obsidian-mcp
  3. 安装 Python 包:
    pip install -e .
  4. 设置 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 密钥。

基本使用方法

配置完成后,在 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 的权限,请仔细审查权限设置。
  • 两个服务器默认都在本地运行,不会对外暴露网络服务。

信息

分类

数据库与文件