Lalaleap MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Lalaleap MCP Server在彰基專案新增需求「病歷查詢」"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Lalaleap MCP Server
Use MCP (Model Context Protocol) to let AI tools directly operate the Lalaleap project management system.
Once connected, you can use natural language to ask AI to create requirements, check bugs, and manage todos — no need to switch to the browser.
What is it?
你(在 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」In one sentence: It is a translation layer between AI and Lalaleap.
Related MCP server: litejira-mcp
Quick Start (3 minutes)
Step 1: Configure Your AI Tool
No need to manually clone; just point to the GitHub repo in the MCP configuration, and npx will automatically pull and build.
Claude Code — Edit ~/.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 — Add a server in Settings → MCP, fields as above.
Prerequisite: The user's machine needs access to the GitHub repo (private repos require SSH key or personal access token).
LALALEAP_UNSAFE_SSL=1is because the dev environment SSL certificate has expired; not needed in production.
Alternative: Local Installation
If you don't want to pull via npx each time, you can also clone it:
git clone https://github.com/kuraki5336/tpi_lalaleap_mcp.git
cd tpi_lalaleap_mcp && npm installThen change the MCP configuration to point to the local path:
{
"mcpServers": {
"lalaleap": {
"command": "node",
"args": ["/你的路徑/tpi_lalaleap_mcp/dist/index.js"],
"env": { ... }
}
}
}Step 2: Start Using
Restart your AI tool, and you can start using it directly by chatting.
Authentication Methods
Two methods supported, choose one:
Method | Environment Variables | Description |
Password Login |
| Password SHA256 encryption handled by the program; you provide plaintext |
API Token |
| Available when backend supports it; takes priority over password |
All environment variables:
Variable | Required | Description |
| Yes | API base URL |
| One of | Login email |
| One of | Login password |
| One of | API Token (takes priority over password) |
| No |
|
| No |
|
| No | Project whitelist (comma-separated pno), only allows writes to these projects |
| No | Maximum write operations per minute (default 10) |
Available Tools Overview
There are 15 tools in total; AI will automatically choose which to call based on your instructions.
Projects
Tool | What it does | Required Parameters | Optional Parameters |
| List all your projects | — | — |
| View project details |
| — |
| Create a new project |
|
|
Requirements
Tool | What it does | Required Parameters | Optional Parameters |
| Create a requirement |
|
|
| List requirements |
|
|
| View requirement details |
| — |
| Update a requirement |
|
|
Bugs
Tool | What it does | Required Parameters | Optional Parameters |
| Create a bug |
|
|
| List bugs |
|
|
| Update a bug |
|
|
Todos / Sprints / Others
Tool | What it does | Required Parameters | Optional Parameters |
| Create a todo |
|
|
| View todo board |
| — |
| List sprints |
| — |
| List project members |
| — |
| Search tags |
|
|
MCP Resources
In addition to tools (which need to be called actively), there are also resources (which AI can read as context):
URI | Content |
| Project list |
| Requirements of a project |
| Bugs of a project |
| Sprints of a project |
| Members of a project |
Example Conversations
你:幫我看一下有哪些專案
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")
待辦已建立Architecture & Source Code Tour
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.jsonKey Design
Automatic Authentication: Automatically logs in on startup, automatically refreshes token on 401, and re-logs in if refresh fails.
Two-step Creation: When creating requirements/bugs, first
POST /addto get an ID, thenPOST /editto fill in fields (consistent with frontend behavior).No crashes on errors: Each tool has try-catch, returns friendly Chinese error messages.
Write Protection: WriteGuard mechanism protects all write operations (see below).
Security Protection (WriteGuard)
AI may misinterpret instructions and cause batch writes of garbage data. All write operations (create / update) have three lines of defense:
1. Read-only Mode
Completely disables writes; AI can only query, not create/modify anything:
{
"env": {
"LALALEAP_READONLY": "1" // 所有 create/update tool 會被直接阻擋
}
}Use Cases: Demo, when a new team member is unsure about AI behavior, or when only queries are needed.
2. Project Whitelist
Restricts AI to write only in specific projects, preventing operations on the wrong project:
{
"env": {
// 只允許對這兩個專案做寫入操作,其他專案的 create/update 會被阻擋
"LALALEAP_ALLOWED_PROJECTS": "be3fd182-3696-41a6-bce8-7f2e9d88b648,c53f210f-xxxx"
}
}Use Cases: In production, only open test projects; team members only operate on projects they are responsible for.
3. Write Rate Limit
Limits the maximum number of writes per minute, preventing AI from creating a large number of items in a short time:
{
"env": {
"LALALEAP_WRITE_RATE_LIMIT": "5" // 每分鐘最多 5 次寫入(預設 10)
}
}When the limit is triggered, AI will receive a clear error message:
[頻率限制] 過去一分鐘已執行 5 次寫入操作(上限 5 次)。請稍後再試。Use Cases: Prevents AI from looping to create batches, or misinterpreting commands like 'create 100 requirements for me'.
Recommended Configuration Combinations
Scenario | Configuration |
Development/Testing | No limits, or |
Daily Use |
|
Demo Presentation |
|
Team Shared |
|
Development
# 開發模式(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.tsAdding a Tool
Add or modify the corresponding file in
src/tools/Register using
server.tool(name, description, zodSchema, handler)If it's a new file, import and call the register function in
src/index.tsRun tests to confirm
// 範例:新增一個 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
Issue | Solution |
| Set |
| Already handled automatically (server retries with |
| Ensure the |
Cannot connect to server | Ensure |
Tool not appearing | Restart the AI tool, verify settings.json format is correct |
Tech Stack
Item | Version |
Node.js | 18+ |
TypeScript | 5.9 |
MCP SDK | @modelcontextprotocol/sdk 1.27 |
HTTP Client | axios 1.13 |
Schema Validation | zod 4.3 |
Transport | stdio (standard input/output) |
Test Coverage
Category | Count | Pass Rate |
MCP Protocol E2E (including tools + resources + edge cases) | 50 | 100% |
API Integration Tests | 14 | 100% |
TypeScript Type Check | — | Zero errors |
Full test report at 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