MCP Servers for Cursor IDE
michael-trullion
README
用于 Cursor IDE 的 MCP 服务器
该项目托管了多个设计用于与 Cursor IDE 协同工作的模型-上下文-协议 (MCP) 服务器。MCP 服务器允许 Cursor 通过标准化的通信协议来利用外部工具和功能。
目录
先决条件
- Node.js (v16 或更高版本)
- npm 或 yarn
如何使用
-
克隆此仓库:
git clone https://github.com/yourusername/mcp-servers.git cd mcp-servers
-
安装依赖项并设置所有内容:
npm run setup
此命令将:
- 安装所有依赖项
- 构建 TypeScript 项目
- 生成 Cursor IDE 集成所需的脚本
- 提供在 Cursor 中设置每个服务器的说明
-
配置 Cursor IDE:
- 打开 Cursor IDE
- 转到 Cursor 设置 > 功能 > Mcp 服务器
- 点击“添加新的 Mcp 服务器”
- 输入服务器的名称(例如,“jira”)
- 对于“连接类型”,选择“command”
- 对于“command”,粘贴 prepare 脚本提供的路径
- 点击“保存”
-
环境变量:
- 将
.env.example
文件复制到.env
- 使用您自己的每个服务的凭据更新变量
- 将
-
在 Cursor IDE 中使用 Mcp:
- 打开编辑器
- 确保您正在使用代理模式(推荐使用 claude 3.7 sonnet thinking)
- 提交您想要发送给 Cursor 的消息
什么是 MCP?
模型上下文协议 (MCP) 是一个开放协议,它标准化了应用程序如何向 LLM(大型语言模型)提供上下文。可以将 MCP 视为 Cursor IDE 和外部工具之间的通信接口。MCP 服务器公开了可供 Cursor IDE 使用以增强其功能的工具。
项目结构
mcp-servers/
├── src/
│ ├── servers/ # 单个 MCP 服务器
│ │ ├── addition-server/ # 加法服务器示例
│ │ │ └── addition-server.ts
│ │ └── ... (更多服务器)
│ ├── template/ # 可重用模板
│ │ └── mcp-server-template.ts
│ ├── index.ts # 服务器运行器实用程序
│ └── run-all.ts # 运行所有服务器的脚本
├── package.json
└── tsconfig.json
可用服务器
目前,以下 MCP 服务器可用:
- 加法服务器 - 一个简单的服务器,将两个数字相加。
- Jira 服务器 - 一个服务器,提供对 Jira 的 REST API 的访问,用于检索项目、问题、看板和冲刺。
- GitHub 服务器 - 一个服务器,提供对 GitHub 的 REST API 的访问,用于检索存储库、问题、拉取请求、分支和提交。
- PostgreSQL 服务器 - 一个服务器,提供对 PostgreSQL 数据库的访问,用于执行查询和检索数据库模式信息。
- Kubernetes 服务器 - 一个服务器,提供对 Kubernetes 集群的访问,用于管理 Pod、执行命令和检索日志。
Jira 服务器设置
Jira 服务器需要以下环境变量:
-
在项目根目录中创建一个
.env
文件(或从.env.example
复制):# Jira API 配置 JIRA_API_URL=https://your-domain.atlassian.net JIRA_EMAIL=your-email@example.com JIRA_API_TOKEN=your-jira-api-token
-
在以下位置生成 API 令牌:https://id.atlassian.com/manage-profile/security/api-tokens
可用的 Jira 工具
Jira 服务器公开了以下工具:
get_projects
- 检索所有可访问的 Jira 项目get_project
- 获取有关特定项目的详细信息(按键)search_issues
- 使用 JQL(Jira 查询语言)搜索问题get_issue
- 获取有关特定问题的详细信息(按键)get_boards
- 检索所有可访问的看板get_sprints
- 获取特定看板的所有冲刺
GitHub 服务器设置
GitHub 服务器需要以下环境变量:
-
在项目根目录中创建一个
.env
文件(或从.env.example
复制):# GitHub API 配置 GITHUB_TOKEN=your-github-personal-access-token
-
在以下位置生成个人访问令牌:https://github.com/settings/tokens
可用的 GitHub 工具
GitHub 服务器公开了以下工具:
get_repositories
- 检索经过身份验证的用户可以访问的所有存储库get_repository
- 获取有关特定存储库的详细信息get_issues
- 检索存储库的问题get_issue
- 获取有关特定问题的详细信息get_pull_requests
- 检索存储库的拉取请求get_pull_request
- 获取有关特定拉取请求的详细信息get_branches
- 检索存储库的分支get_commits
- 检索存储库的提交,可以选择按分支过滤comment_on_pr
- 向特定拉取请求添加评论(始终使用“Created by Cursor”签名)summarize_pr_diff
- 生成 PR 更改的摘要,并可以选择将其发布为评论
PostgreSQL 服务器设置
PostgreSQL 服务器需要以下环境变量:
-
在项目根目录中创建一个
.env
文件(或从.env.example
复制):# PostgreSQL 配置 POSTGRES_HOST=localhost POSTGRES_PORT=5432 POSTGRES_DB=your_database_name POSTGRES_USER=your_username POSTGRES_PASSWORD=your_password # POSTGRES_SSL_MODE=require # 如果需要 SSL,则取消注释 # POSTGRES_MAX_CONNECTIONS=10 # 可选:限制连接池大小
-
确保您有一个 PostgreSQL 数据库正在运行,并且可以使用提供的凭据访问。
可用的 PostgreSQL 工具
PostgreSQL 服务器公开了以下工具:
mcp__get_database_info
- 检索有关连接的数据库的信息mcp__list_tables
- 列出当前数据库模式中的所有表mcp__get_table_structure
- 获取特定表的列定义mcp__execute_query
- 针对数据库执行自定义 SQL 查询
Kubernetes 服务器设置
Kubernetes 服务器需要以下环境变量:
-
在项目根目录中创建一个
.env
文件(或从.env.example
复制):# Kubernetes 配置 KUBECONFIG=/path/to/your/kubeconfig # 或 # KUBE_API_URL=https://your-kubernetes-api-server # KUBE_API_TOKEN=your-kubernetes-service-account-token
-
确保您有权访问 Kubernetes 集群并且具有适当的权限。
可用的 Kubernetes 工具
Kubernetes 服务器公开了以下工具:
get_pods
- 从指定的命名空间检索 Pod,可以选择字段和标签选择器find_pods
- 在指定的命名空间中查找与名称模式匹配的 Podkill_pod
- 删除指定命名空间中的 Podexec_in_pod
- 在指定的 Pod 和容器中执行命令get_pod_logs
- 从指定的 Pod 检索日志,可以选择容器、行数和以前的实例
运行服务器
快速开始
setup 命令为每个服务器创建单独的 shell 脚本,这些脚本可以直接与 Cursor IDE 一起使用。
运行 npm run setup
后,您将看到每个服务器配置的说明。
使用辅助脚本运行服务器
要使用包含的辅助脚本运行特定服务器:
npm run server -- [server-name]
例如,要运行加法服务器:
npm run server -- addition
这将自动构建 TypeScript 代码并启动服务器。
手动运行单个服务器
要手动运行特定服务器:
npm run dev -- [server-name]
例如,要运行加法服务器:
npm run dev -- addition
运行所有服务器
要同时运行所有服务器:
npm run dev:all
列出可用服务器
要查看所有可用服务器的列表:
npm run dev -- --list
测试您的 MCP 服务器
在连接到 Cursor IDE 之前,您可以测试 MCP 服务器的功能:
-
构建您的 TypeScript 项目:
npm run build
-
运行服务器:
npm run start:addition
-
在单独的终端中,您可以通过手动发送 MCP 协议消息来测试服务器:
{ "type": "request", "id": "test1", "name": "add", "params": { "num1": 5, "num2": 7 } }
服务器应响应:
{ "type": "response", "id": "test1", "content": [ { "type": "text", "text": "The sum of 5 and 7 is 12." }, { "type": "text", "text": "{\n \"num1\": 5,\n \"num2\": 7,\n \"sum\": 12\n}" } ] }
-
为了方便起见,此项目包含一个可供 Cursor 使用的现成脚本:
/path/to/mcp-servers/cursor-mcp-server.sh
您可以直接在 Cursor IDE 配置中使用此脚本路径。
添加新的 MCP 服务器
要向此项目添加新的 MCP 服务器:
-
在
src/servers/
下为您的服务器创建一个新目录:mkdir -p src/servers/my-new-server
-
创建您的服务器实现:
// src/servers/my-new-server/my-new-server.ts import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js"; import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js"; import { z } from "zod"; // 创建一个 MCP 服务器 const server = new McpServer({ name: "My New Server", version: "1.0.0", }); // 添加您的工具 server.tool( "my-tool", { param1: z.string().describe("Parameter description"), param2: z.number().describe("Parameter description"), }, async ({ param1, param2 }) => { // 工具实现 return { content: [{ type: "text", text: `Result: ${param1} ${param2}` }], }; } ); // 启动服务器 async function startServer() { const transport = new StdioServerTransport(); await server.connect(transport); console.log("My New Server started and ready to process requests"); } // 如果直接运行此文件,则启动服务器 if (process.argv[1] === new URL(import.meta.url).pathname) { startServer(); } export default server;
-
将您的服务器添加到
src/index.ts
和src/run-all.ts
中的服务器列表:const servers = [ // ... 现有服务器 { name: "my-new-server", displayName: "My New Server", path: join(__dirname, "servers/my-new-server/my-new-server.ts"), }, ];
-
更新 package.json 脚本(可选):
"scripts": { // ... 现有脚本 "dev:my-new-server": "ts-node --esm src/servers/my-new-server/my-new-server.ts" }
理解 MCP 服务器开发
在开发 MCP 服务器时,请记住:
-
工具是公开功能的主要方式。每个工具都应该:
- 具有唯一的名称
- 使用 Zod 定义参数以进行验证
- 以标准化格式返回结果
-
通信通过 stdio 进行 Cursor 集成。
-
响应格式至关重要 - MCP 服务器必须遵循确切的格式:
- 工具应返回
type: "text"
的内容以进行文本响应 - 避免直接使用不受支持的类型,例如
type: "json"
- 对于结构化数据,转换为 JSON 字符串并使用
type: "text"
- 示例:
return { content: [ { type: "text", text: "Human-readable response" }, { type: "text", text: JSON.stringify(structuredData, null, 2) }, ], };
- 工具应返回
构建项目
要构建项目,请运行:
npm run build
推荐服务器
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
MCP Package Docs Server
促进大型语言模型高效访问和获取 Go、Python 和 NPM 包的结构化文档,通过多语言支持和性能优化来增强软件开发。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。
@kazuph/mcp-taskmanager
用于任务管理的模型上下文协议服务器。它允许 Claude Desktop(或任何 MCP 客户端)在基于队列的系统中管理和执行任务。
mermaid-mcp-server
一个模型上下文协议 (MCP) 服务器,用于将 Mermaid 图表转换为 PNG 图像。
Jira-Context-MCP
MCP 服务器向 AI 编码助手(如 Cursor)提供 Jira 工单信息。

Linear MCP Server
一个模型上下文协议(Model Context Protocol)服务器,它与 Linear 的问题跟踪系统集成,允许大型语言模型(LLM)通过自然语言交互来创建、更新、搜索和评论 Linear 问题。

Sequential Thinking MCP Server
这个服务器通过将复杂问题分解为顺序步骤来促进结构化的问题解决,支持修订,并通过完整的 MCP 集成来实现多条解决方案路径。
Curri MCP Server
通过管理文本笔记、提供笔记创建工具以及使用结构化提示生成摘要,从而实现与 Curri API 的交互。