MCP サーバー
JIRA や TODO 管理などのさまざまなサービス用の統合ツールを提供する、Model Context Protocol (MCP) の TypeScript ベースのサーバー実装。
🚀 機能
複数のツールの統合: 複数のツールの統合をサポートするモジュラーアーキテクチャ
型安全性: Zod スキーマ検証による完全な TypeScript サポート
ESMサポート:最新のESモジュール実装
拡張可能: 新しいツールや統合を簡単に追加できます
Related MCP server: JIRA MCP Server
📦 現在のツール
JIRA統合
カスタマイズ可能なフィールドで問題を作成する
自動応答フォーマット
問題作成のためのスキーマ検証
TODO管理
優先度と期限を指定してToDoを作成する
オプションフィールドをサポートする柔軟なスキーマ
フォーマットされた応答メッセージ
🛠 プロジェクト構造
src/
├── config/ # Tool configurations
│ ├── jira-tool.config.ts
│ └── todo-tool.config.ts
├── constant/ # Constant definitions
│ └── tool-name.ts
├── schema/ # Zod schemas for validation
│ ├── jira.ts
│ └── todo.ts
├── server/ # Server management
│ └── mcp-server-tool-manager.ts
├── tools/ # Tool implementations
│ ├── jira/
│ │ └── create-issue.ts
│ └── todo/
│ └── create-todo.ts
└── index.ts # Main entry point🔌 新しいツールの追加
constant/tool-name.tsにツール定数を定義します。schema/ディレクトリにスキーマを作成するtools/ディレクトリにツールハンドラーを実装するconfig/ディレクトリに設定を追加するindex.tsにツールを登録する
例:
// 1. Add constant
export const NEW_TOOL = {
ACTION: "action_name"
} as const;
// 2. Create schema
export const newToolSchema = z.object({
// ... schema definition
});
// 3. Implement handler
export const handleAction = async (
args: z.infer<typeof newToolSchema>,
extra: RequestHandlerExtra
): Promise<CallToolResult> => {
// ... implementation
};
// 4. Add configuration
export const newToolConfig = {
name: "New Tool",
version: "1.0.0",
tools: [
{
name: NEW_TOOL.ACTION,
schema: newToolSchema,
handler: handleAction,
},
],
};🔄開発ワークフロー
機能ブランチを作成する
変更を実施する
テストを実行する(実装されている場合)
ビルドプロジェクト
PRを送信
📝 注意事項
モジュール性を高めるためにESモジュールを使用
標準化された通信のためのモデルコンテキストプロトコルを実装します
TypeScriptのベストプラクティスに従う
型安全性のための Zod スキーマ検証
🛣️ ロードマップ
[ ] JIRA操作を追加する
[ ] TODOの永続性を実装する
[ ] 認証を追加する
[ ] テストフレームワークを追加する
[ ] さらなる統合を追加する(GitHub、Slackなど)
📄 ライセンス
マサチューセッツ工科大学