Lalaleap MCP Server
Lalaleap MCP Server
MCP (Model Context Protocol) を介して、AI ツールが Lalaleap プロジェクト管理システムを直接操作できるようにします。
接続後、自然言語で AI に要件の作成、バグの確認、タスクの管理を依頼できます。ブラウザに切り替える必要はありません。
これは何ですか?
你(在 Claude Code / Cursor 裡打字)
↓ "幫我在彰基專案建一筆需求:病歷查詢 API"
Claude / Cursor(透過 MCP Protocol 呼叫 tool)
↓ callTool("create_requirement", { pno, title, priority })
Lalaleap MCP Server(本專案,TypeScript + stdio)
↓ POST /require/add → POST /require/edit
Lalaleap 後端 API(Java)
↓
回傳結果 → AI 告訴你「需求已建立,編號 1000160」一言で言えば:AI と Lalaleap の間の翻訳層です。
Related MCP server: litejira-mcp
クイックスタート(3分)
Step 1:AI ツールの設定
手動で clone する必要はありません。MCP 設定で GitHub リポジトリを指定するだけで、npx が自動的に取得してビルドします。
Claude Code — ~/.claude/settings.json を編集:
{
"mcpServers": {
"lalaleap": {
"command": "npx",
"args": ["-y", "github:kuraki5336/tpi_lalaleap_mcp"],
"env": {
"LALALEAP_API_URL": "https://your-domain.com/ap2/lalaleap",
"LALALEAP_EMAIL": "你的email@gmail.com",
"LALALEAP_PASSWORD": "你的密碼",
"LALALEAP_UNSAFE_SSL": "1"
}
}
}
}Cursor — Settings → MCP でサーバーを追加、フィールドは上記と同じ。
前提条件:ユーザーのマシンが GitHub リポジトリにアクセスできる必要があります(プライベートリポジトリの場合は SSH キーまたは personal access token の設定が必要)。
LALALEAP_UNSAFE_SSL=1は開発環境の SSL 証明書が期限切れのためで、本番環境では不要です。
代替案:ローカルインストール
毎回 npx で取得したくない場合は、clone することもできます:
git clone https://github.com/kuraki5336/tpi_lalaleap_mcp.git
cd tpi_lalaleap_mcp && npm installそして MCP 設定をローカルパスに変更:
{
"mcpServers": {
"lalaleap": {
"command": "node",
"args": ["/你的路徑/tpi_lalaleap_mcp/dist/index.js"],
"env": { ... }
}
}
}Step 2:使い始める
AI ツールを再起動すれば、そのまま会話で使用できます。
認証方法
2つの方法をサポート。どちらか一方を選択:
方法 | 環境変数 | 説明 |
アカウント/パスワードログイン |
| パスワードは SHA256 暗号化をプログラムが処理。平文で入力 |
API Token |
| 将来バックエンドが対応したら使用可能。アカウント/パスワードより優先 |
全環境変数:
変数 | 必須 | 説明 |
| はい | API ベース URL |
| いずれか | ログイン Email |
| いずれか | ログインパスワード |
| いずれか | API Token(アカウント/パスワードより優先) |
| いいえ |
|
| いいえ |
|
| いいえ | プロジェクトホワイトリスト(カンマ区切りの pno)。これらのプロジェクトのみ書き込み可能 |
| いいえ | 1分あたりの最大書き込み回数(デフォルト 10) |
利用可能な Tools 一覧
全 15 個の tool。AI が指示に応じて自動的に呼び出しを選択します。
プロジェクト
Tool | 機能 | 必須パラメータ | オプションパラメータ |
| 全プロジェクトを一覧表示 | — | — |
| プロジェクト詳細を表示 |
| — |
| 新規プロジェクトを作成 |
|
|
要件
Tool | 機能 | 必須パラメータ | オプションパラメータ |
| 要件を作成 |
|
|
| 要件一覧を取得 |
|
|
| 要件詳細を表示 |
| — |
| 要件を更新 |
|
|
バグ
Tool | 機能 | 必須パラメータ | オプションパラメータ |
| バグを作成 |
|
|
| バグ一覧を取得 |
|
|
| バグを更新 |
|
|
タスク / スプリント / その他
Tool | 機能 | 必須パラメータ | オプションパラメータ |
| タスクを作成 |
|
|
| タスクボードを表示 |
| — |
| スプリント一覧を取得 |
| — |
| プロジェクトメンバーを取得 |
| — |
| タグを検索 |
|
|
MCP Resources
tool(能動的に呼び出す必要あり)に加えて、resource(AI がコンテキストとして読み取れる)もあります:
URI | 内容 |
| プロジェクト一覧 |
| 特定プロジェクトの要件 |
| 特定プロジェクトのバグ |
| 特定プロジェクトのスプリント |
| 特定プロジェクトのメンバー |
実際の会話例
你:幫我看一下有哪些專案
AI:→ list_projects
你有 12 個專案:彰基_測試、ProjectC、...
你:在彰基_測試建一筆需求「病歷查詢 API」,優先度高
AI:→ list_projects(找到 pno)
→ create_requirement(pno, title="病歷查詢 API", priority="高")
需求已建立,編號 1000160
你:列出這個專案所有需求
AI:→ list_requirements(pno)
共 5 筆需求:
1. 病歷查詢 API(高)- 規劃中
2. 使用者登入(中)- 進行中
...
你:建一個 bug「登入頁按鈕在 Safari 沒反應」
AI:→ create_bug(pno, title="登入頁按鈕在 Safari 沒反應")
缺陷已建立,編號 2000005
你:幫我加一個待辦「寫 API 文件」,截止下週五
AI:→ create_todo(pno, title="寫 API 文件", due_date="2026-03-28")
待辦已建立アーキテクチャ & ソースコードガイド
tpi_tpad_mcp/
├── src/
│ ├── index.ts # 入口:啟動 MCP Server、註冊 tools & resources
│ ├── config.ts # 讀取環境變數
│ ├── api-client.ts # axios HTTP client,處理登入/token/重試
│ ├── resources.ts # 5 個 MCP Resources 定義
│ ├── test.ts # API 整合測試(14 個端點)
│ ├── test-mcp.ts # MCP Protocol E2E 測試(50 個案例)
│ └── tools/
│ ├── projects.ts # list_projects, get_project_detail, create_project
│ ├── requirements.ts # create/list/get/update requirement
│ ├── bugs.ts # create_bug, list_bugs
│ ├── todos.ts # create_todo, list_todos
│ ├── sprints.ts # list_sprints
│ ├── tags.ts # search_tags
│ └── members.ts # list_project_members
├── docs/
│ └── test-report.md # QA 測試報告
├── package.json
└── tsconfig.json重要な設計
認証の自動処理:起動時に自動ログイン、401 時に自動で token をリフレッシュ、失敗したら再ログイン
2段階作成:要件/バグ作成時、まず
POST /addで番号を取得し、次にPOST /editでフィールドを入力(フロントエンドの動作と一致)エラーでクラッシュしない:各 tool に try-catch があり、親切な中国語のエラーメッセージを返す
書き込み保護:WriteGuard メカニズムがすべての書き込み操作を保護(詳細は下記)
セキュリティ保護(WriteGuard)
AI が指示を誤解して大量のゴミデータを書き込む可能性があります。すべての書き込み操作(create / update)には3つの防御線があります:
1. 読み取り専用モード
書き込みを完全に禁止。AI はクエリのみ可能で、作成/変更はできません:
{
"env": {
"LALALEAP_READONLY": "1" // 所有 create/update tool 會被直接阻擋
}
}適用シナリオ:デモ、新人が AI の動作を確認したい場合、クエリのみ必要な場合。
2. プロジェクトホワイトリスト
AI が特定のプロジェクトにのみ書き込めるように制限し、誤ったプロジェクトへの操作を防止:
{
"env": {
// 只允許對這兩個專案做寫入操作,其他專案的 create/update 會被阻擋
"LALALEAP_ALLOWED_PROJECTS": "be3fd182-3696-41a6-bce8-7f2e9d88b648,c53f210f-xxxx"
}
}適用シナリオ:本番環境でテストプロジェクトのみ開放、チームメンバーが担当プロジェクトのみ操作。
3. 書き込み頻度制限
1分あたりの最大書き込み回数を制限し、AI が短時間に大量の項目を作成するのを防止:
{
"env": {
"LALALEAP_WRITE_RATE_LIMIT": "5" // 每分鐘最多 5 次寫入(預設 10)
}
}制限に達すると、AI は明確なエラーメッセージを受け取ります:
[頻率限制] 過去一分鐘已執行 5 次寫入操作(上限 5 次)。請稍後再試。適用シナリオ:AI がループで大量作成するのを防止、「100個の要件を作成して」のような指示の誤解を防止。
推奨設定の組み合わせ
シナリオ | 設定 |
開発/テスト | 制限なし、または |
日常使用 |
|
デモ展示 |
|
チーム共有 |
|
開発
# 開發模式(tsx 直接跑,不需編譯)
npm run dev
# 編譯
npm run build
# API 整合測試(直接打 API,14 個端點)
npm test
# MCP Protocol E2E 測試(透過 stdio 模擬真實 MCP 連線,50 個案例)
LALALEAP_UNSAFE_SSL=1 npx tsx src/test-mcp.tsTool の追加方法
src/tools/に対応するファイルを追加または修正server.tool(name, description, zodSchema, handler)で登録新しいファイルの場合は、
src/index.tsで import し、register 関数を呼び出すテストを実行して確認
// 範例:新增一個 tool
server.tool(
'my_new_tool',
'這個 tool 做什麼',
{
pno: z.string().describe('專案編號'),
someParam: z.string().optional().describe('說明'),
},
async ({ pno, someParam }) => {
try {
const resp = await api.post('/some/endpoint', { pno, someParam });
return {
content: [{ type: 'text', text: JSON.stringify(resp.data, null, 2) }],
};
} catch (err) {
return {
content: [{ type: 'text', text: formatError(err) }],
isError: true,
};
}
}
);Troubleshooting
問題 | 解決方法 |
|
|
| 自動処理済み(サーバーが |
| MCP client 設定の |
サーバーに接続できない |
|
tool が表示されない | AI ツールを再起動し、settings.json の形式が正しいか確認 |
技術スタック
項目 | バージョン |
Node.js | 18+ |
TypeScript | 5.9 |
MCP SDK | @modelcontextprotocol/sdk 1.27 |
HTTP Client | axios 1.13 |
Schema Validation | zod 4.3 |
転送方式 | stdio(標準入出力) |
テストカバレッジ
カテゴリ | 数 | 合格率 |
MCP Protocol E2E(tools + resources + 境界条件を含む) | 50 | 100% |
API 統合テスト | 14 | 100% |
TypeScript 型チェック | — | エラーゼロ |
完全なテストレポートは docs/test-report.md を参照。
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA comprehensive MCP server for Atlassian Jira that enables AI assistants to manage issues, sprints, comments, and worklogs through natural language.MIT
- AlicenseNot gradedqualityCmaintenanceA client-side MCP server that enables AI assistants to interact with the LiteJira issue tracking system for creating, searching, and managing issues via natural language.361MIT
- AlicenseNot gradedqualityBmaintenanceAn MCP server that connects AI assistants to TickTick, enabling project and task management through natural language, including reading projects, finding tasks, creating tasks, and completing work.2MIT
- FlicenseNot gradedqualityDmaintenanceAn MCP server for controlling the TimeLiner project management system, enabling AI clients to manage projects, tasks, members, and more via natural language.
Related MCP Connectors
MCP server for generating rough-draft project plans from natural-language prompts.
MCP server for AI dialogue using various LLM models via AceDataCloud
MCP Server for Slima - AI Writing IDE for Novel Authors with AI Beta Reader.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/kuraki5336/tpi_lalaleap_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server