article
README
🚀 MCP 服务器
MCP 服务器是一个基于 TypeScript 的 Model Context Protocol (MCP) 服务器实现,它作为一款集成工具,可提供多种服务,如 JIRA 和待办事项管理等,能有效解决多工具集成管理的问题,为用户带来便捷、高效的使用体验。
🚀 快速开始
MCP 服务器是一个强大的集成工具,以下将为你详细介绍它的使用。
✨ 主要特性
- 多工具集成:采用模块化架构,支持多种工具的集成,方便用户根据需求灵活组合使用。
- 类型安全:全面支持 TypeScript,并配合 Zod 模式验证,确保代码的类型安全性。
- ESM 支持:运用现代 ES 模块实现,提升项目的模块化程度和可维护性。
- 可扩展:能够轻松添加新的工具和集成,满足不断变化的业务需求。
📦 安装指南
暂未提供安装步骤相关内容,若有需要可后续补充。
📦 当前工具
JIRA 集成
- 可使用自定义字段创建问题。
- 能自动对响应进行格式化。
- 对问题创建进行模式验证。
待办事项管理
- 支持创建带有优先级和截止日期的待办事项。
- 具备灵活的模式,支持可选字段。
- 可格式化响应消息。
🛠 项目结构
src/
├── config/ # 工具配置
│ ├── jira-tool.config.ts
│ └── todo-tool.config.ts
├── constant/ # 常量定义
│ └── tool-name.ts
├── schema/ # Zod 模式验证
│ ├── jira.ts
│ └── todo.ts
├── server/ # 服务器管理
│ └── mcp-server-tool-manager.ts
├── tools/ # 工具实现
│ ├── jira/
│ │ └── create-issue.ts
│ └── todo/
│ └── create-todo.ts
└── index.ts # 主入口点
🔌 新工具的添加
- 在
constant/tool-name.ts中定义工具常量。 - 在
schema/目录中创建模式。 - 在
tools/目录中实现工具处理程序。 - 在
config/目录中添加配置。 - 在
index.ts中注册工具。
示例:
// 1. 添加常量
export const 新工具 = {
ACTION: "action_name"
} as const;
// 2. 创建模式
export const newToolSchema = z.object({
// ... 模式定义
});
// 3. 实现处理程序
export const handleAction = async (
args: z.infer<typeof newToolSchema>,
extra: RequestHandlerExtra
): Promise<CallToolResult> => {
// ... 实现逻辑
};
// 4. 添加配置
export const newToolConfig = {
name: "新工具",
version: "1.0.0",
tools: [
{
name: 新工具.ACTION,
schema: newToolSchema,
handler: handleAction,
},
],
};
🔄 开发工作流
- 创建功能分支。
- 实施变更。
- 运行测试(当实现时)。
- 构建项目。
- 提交 PR。
📝 备注
- 建议使用 ES 模块以获得更好的模块化效果。
- 需实现 Model Context Protocol 以实现标准化通信。
- 要遵循 TypeScript 最佳实践进行开发。
- 利用 Zod 模式验证确保类型安全。
🛣️ 路线图
- [ ] 添加更多 JIRA 操作
- [ ] 实现待办事项持久化
- [ ] 添加身份验证
- [ ] 添加测试框架
- [ ] 添加更多集成(GitHub、Slack 等)
📄 许可证
本项目采用 MIT 许可证。
Scan to join WeChat group