MCP Server
MCP 服务器 (MCP fúwùqì)
plusplusoneplusplus
README
MCP 服务器
MCP 服务器为 AI 驱动的命令执行和工具管理提供了一个灵活的框架。
配置
MCP 服务器使用灵活的配置系统,支持默认设置和用户特定设置。配置文件以 YAML 格式存储。
配置文件
服务器使用两个主要的配置文件:
prompts.yaml
- 定义可用的提示及其模板tools.yaml
- 定义可用的工具及其配置
用户特定配置
为了维护不会在 git 中跟踪的私有配置:
-
在
server
文件夹中创建一个.private
目录:mkdir server/.private
-
将您的配置文件复制到
.private
目录:cp server/prompts.yaml server/.private/ cp server/tools.yaml server/.private/
-
根据需要在
.private
中自定义文件
系统将:
- 首先在
.private
目录中查找配置文件 - 如果私有版本不存在,则回退到默认配置文件
.private
目录会被 git 自动忽略
外部私有工具目录
您还可以为私有工具和配置定义一个与项目目录分离的目录:
-
设置
PRIVATE_TOOL_ROOT
环境变量以指向您的私有工具目录:# Linux/Mac export PRIVATE_TOOL_ROOT=/path/to/your/private/tools # Windows (PowerShell) $env:PRIVATE_TOOL_ROOT = "D:\path\to\your\private\tools" # Windows (CMD) set PRIVATE_TOOL_ROOT=D:\path\to\your\private\tools
-
在此目录中创建并自定义您的配置文件:
/path/to/your/private/tools/ ├── tools.yaml ├── prompts.yaml ├── myscript.ps1 └── other-scripts/
-
服务器将按以下优先级顺序查找配置文件:
PRIVATE_TOOL_ROOT
目录(如果已设置)server
文件夹中的.private
目录server
文件夹中的默认文件
这种方法允许您:
- 将私有工具和配置与项目完全分离
- 在多个项目之间共享相同的私有工具
- 通过更改环境变量轻松切换不同的私有工具集
示例配置结构
# prompts.yaml
prompts:
my_prompt:
name: "My Custom Prompt"
description: "A custom prompt for specific tasks"
arguments:
- name: "param1"
description: "First parameter"
required: true
template: "Custom prompt template with {param1}"
enabled: true
# tools.yaml
tools:
# Regular tool definition
my_tool:
name: "My Custom Tool"
description: "A custom tool for specific tasks"
inputSchema:
type: "object"
properties:
param1:
type: "string"
description: "First parameter"
required: ["param1"]
enabled: true
# Script-based tool definition
build_project:
name: "Build Project"
description: "Build the project"
type: "script"
script: "build.cmd" # Script file in .private directory
inputSchema:
type: "object"
properties: {} # No arguments needed
required: []
enabled: true
# Script with arguments
deploy:
enabled: true
name: deploy
description: Deploy the application
type: script
script: test_deploy.ps1
inputSchema:
type: object
properties:
environment:
type: string
description: Deployment environment
enum: ["dev", "staging", "prod"]
version:
type: string
description: Version to deploy
force:
type: boolean
description: Force deployment even if version exists
default: false
required:
- environment
- version
# Async Command Execution
execute_command_async:
enabled: true
name: execute_command_async
description: Start a command execution asynchronously and return a token for tracking
inputSchema:
type: object
properties:
command:
type: string
description: The command to execute
timeout:
type: number
description: Optional timeout in seconds
required:
- command
query_command_status:
enabled: true
name: query_command_status
description: Query the status of an asynchronous command execution or wait for it to complete
inputSchema:
type: object
properties:
token:
type: string
description: The token returned by execute_command_async
wait:
type: boolean
description: Whether to wait for the command to complete
default: false
timeout:
type: number
description: Optional timeout in seconds for waiting
required:
- token
基于脚本的工具
系统支持基于脚本的工具,这些工具可以在 YAML 配置中完全定义。这些工具:
- 在 tools.yaml 中使用
type: "script"
定义 - 引用应放置在
.private
目录中的脚本文件 - 可以接受在
inputSchema
中定义的命令行参数 - 支持 Windows (
.cmd
,.ps1
) 和 Unix (.sh
) 脚本
脚本文件应:
- 放置在
.private
目录中 - 接受
--arg_name value
格式的参数 - 返回将被捕获和显示的适当输出
示例脚本 (build.cmd
):
@echo off
echo Building unit tests...
dotnet build tests/UnitTests
if %ERRORLEVEL% EQU 0 (
echo Build successful
) else (
echo Build failed
exit 1
)
运行测试
使用 Bash 脚本 (Linux/Mac)
# Run all tests
./sentinel/run_tests.sh
使用 PowerShell 脚本 (Windows)
# Run all tests
.\sentinel\run_tests.ps1
将 MCP 服务器配置为 cursor/vscode 的一部分
{
"mcpServers": {
"mymcp": {
"command": "mcp\\venv\\scripts\\python",
"args": ["mcp\\server\\main.py"],
"env": {
"GIT_ROOT": "${workspaceFolder}",
"PRIVATE_TOOL_ROOT": "${workspaceFolder}/.private"
}
},
// this is deprecated.
// "fastmcp" : {
// "command": "mcp\\venv\\scripts\\python",
// "args": ["-m", "uv", "run", "--with", "mcp", "mcp", "run", "mcp\\server\\fast-main.py"]
// }
}
}
演示:基本命令执行
演示:异步命令执行
推荐服务器
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 的交互。