Skip to content

GHjiejie/mcp-server

Repository files navigation

My MCP Server

一个功能丰富的 Model Context Protocol (MCP) 服务器,提供工具、资源和可复用的提示模板。

特性

🛠️ 工具 (Tools)

  • 算术运算:加法、减法、乘法、除法

📚 资源 (Resources)

  • 文件资源:动态访问项目中的知识库文件
  • 技术文档:前端和后端开发文档(React、Vue、HTML、Python、Go等)

💡 提示模板 (Prompts)

  • 代码审查 (code-review):系统化的代码审查指南
  • 文档生成 (doc-generation):API、README、使用指南等文档模板
  • 调试帮助 (debug-help):结构化的调试方法论
  • 测试生成 (test-generation):完整的测试用例编写指南
  • 重构建议 (refactoring):代码重构的系统方法

🔄 工作流 (Workflows)

  • 开发工作流:从需求到部署的完整流程
  • 代码审查工作流:系统化的代码审查过程
  • 问题调试工作流:Bug 修复和问题排查流程
  • 重构工作流:安全的代码重构流程
  • 功能开发工作流:敏捷开发流程(TDD)
  • API开发工作流:API 开发标准流程

快速开始

安装依赖

npm install

编译项目

npm run build

启动服务器

npm start

开发模式

npm run dev

项目结构

my-mcp-server/
├── src/
│   ├── index.ts                  # 主服务器文件
│   ├── server/
│   │   ├── tools/               # 工具定义
│   │   │   ├── index.ts
│   │   │   └── arithmetic.ts    # 算术工具
│   │   ├── resource/            # 资源定义
│   │   │   ├── index.ts
│   │   │   ├── resources.ts     # 静态资源
│   │   │   └── fileServer.ts    # 文件资源服务
│   │   └── prompts/             # 提示模板
│   │       ├── index.ts
│   │       ├── templates.ts     # 提示模板定义
│   │       └── workflows.ts     # 工作流定义
│   ├── types/                   # 类型定义
│   │   ├── mcpTool.ts
│   │   ├── mcpResource.ts
│   │   └── mcpPrompt.ts
│   └── utils/                   # 工具函数
│       └── file.ts
├── resources/                   # 知识库资源
│   ├── frontend/
│   └── backend/
├── build/                       # 编译输出
├── PROMPTS_GUIDE.md            # 提示模板详细指南
├── PROMPTS_EXAMPLES.md         # 使用示例
├── FILE_SERVER_GUIDE.md        # 文件服务器指南
└── package.json

使用指南

使用工具

// 加法运算
const result = await client.callTool("add", {
  a: 10,
  b: 20
});
// 结果: 30

访问资源

// 读取前端文档
const doc = await client.readResource("file://frontend/react");

// 读取后端文档
const backendDoc = await client.readResource("file://backend/python");

使用提示模板

// 代码审查
const reviewGuide = await client.getPrompt("code-review", {
  language: "TypeScript",
  focus: "性能"
});

// 生成 API 文档
const apiDoc = await client.getPrompt("doc-generation", {
  docType: "API",
  projectName: "my-project"
});

// 调试帮助
const debugGuide = await client.getPrompt("debug-help", {
  errorType: "运行时错误",
  language: "JavaScript"
});

详细的提示模板使用说明,请查看:

文件资源服务

详细的文件资源使用说明,请查看 FILE_SERVER_GUIDE.md

配置

在 Claude Desktop 中使用此服务器,需要在配置文件中添加:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "my-mcp-server": {
      "command": "node",
      "args": ["/path/to/my-mcp-server/build/index.js"]
    }
  }
}

Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "my-mcp-server": {
      "command": "node",
      "args": ["C:\\path\\to\\my-mcp-server\\build\\index.js"]
    }
  }
}

功能亮点

📝 提示模板系统

提示模板提供了可复用的结构化指导,涵盖软件开发的各个环节:

  • 标准化:确保团队遵循统一的最佳实践
  • 高效性:减少重复性思考工作
  • 知识共享:积累和传播团队经验
  • 灵活性:可根据需求自定义模板

🔄 工作流管理

工作流将多个步骤组合成完整的开发流程:

  • 流程化:明确的步骤指导
  • 集成化:关联相关的工具和资源
  • 可追踪:便于跟踪项目进度
  • 可扩展:轻松添加新的工作流

📦 动态资源系统

智能的文件资源管理:

  • 自动发现:自动扫描和注册资源目录
  • 动态加载:按需读取文件内容
  • 分类管理:前端、后端等分类组织
  • 易于扩展:添加新资源无需修改代码

开发指南

添加新工具

  1. src/server/tools/ 中创建新文件
  2. 定义工具的输入输出 schema
  3. 实现工具的 handler 函数
  4. src/server/tools/index.ts 中导出

添加新提示模板

  1. src/server/prompts/templates.ts 中定义模板
  2. 指定参数 schema 和 handler
  3. src/server/prompts/index.ts 中导出
  4. 重新编译:npm run build

详细说明请参考 PROMPTS_GUIDE.md

添加新工作流

  1. src/server/prompts/workflows.ts 中定义工作流
  2. 指定步骤、关联的提示模板和工具
  3. 添加元数据(标签、分类、预估时间)
  4. 在文件末尾导出

添加新资源

将文档文件添加到 resources/ 目录:

resources/
├── frontend/
│   └── new-framework.md
└── backend/
    └── new-language.md

服务器会自动扫描并注册这些资源。

调试

使用 MCP Inspector 调试服务器:

npx @modelcontextprotocol/inspector node build/index.js

技术栈

  • TypeScript: 类型安全的开发体验
  • MCP SDK: Model Context Protocol 官方 SDK
  • Zod: 运行时类型验证
  • Node.js: 运行时环境

统计信息

当前版本包含:

  • ✅ 4 个工具
  • ✅ 5 个提示模板
  • ✅ 6 个工作流定义
  • ✅ 动态文件资源系统
  • ✅ 2+ 资源分类(前端、后端)

许可证

MIT

贡献

欢迎贡献!如果您有任何改进建议或新功能想法:

  1. Fork 本仓库
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交更改 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 开启 Pull Request

支持

如有问题或需要帮助,请:


让开发更高效,让团队更协同! 🚀

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published