Skip to main content
Glama
kuraki5336

Lalaleap MCP Server

by kuraki5336

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つの方法をサポート。どちらか一方を選択:

方法

環境変数

説明

アカウント/パスワードログイン

LALALEAP_EMAIL + LALALEAP_PASSWORD

パスワードは SHA256 暗号化をプログラムが処理。平文で入力

API Token

LALALEAP_API_TOKEN

将来バックエンドが対応したら使用可能。アカウント/パスワードより優先

全環境変数:

変数

必須

説明

LALALEAP_API_URL

はい

API ベース URL

LALALEAP_EMAIL

いずれか

ログイン Email

LALALEAP_PASSWORD

いずれか

ログインパスワード

LALALEAP_API_TOKEN

いずれか

API Token(アカウント/パスワードより優先)

LALALEAP_UNSAFE_SSL

いいえ

1 = SSL 検証をスキップ

LALALEAP_READONLY

いいえ

1 = 読み取り専用モード、すべての書き込み操作を禁止

LALALEAP_ALLOWED_PROJECTS

いいえ

プロジェクトホワイトリスト(カンマ区切りの pno)。これらのプロジェクトのみ書き込み可能

LALALEAP_WRITE_RATE_LIMIT

いいえ

1分あたりの最大書き込み回数(デフォルト 10)


利用可能な Tools 一覧

全 15 個の tool。AI が指示に応じて自動的に呼び出しを選択します。

プロジェクト

Tool

機能

必須パラメータ

オプションパラメータ

list_projects

全プロジェクトを一覧表示

get_project_detail

プロジェクト詳細を表示

pno

create_project

新規プロジェクトを作成

name

type(0 公開/1 プライベート)

要件

Tool

機能

必須パラメータ

オプションパラメータ

create_requirement

要件を作成

pno, title

describe, priority(高/中/低), start_date, end_date

list_requirements

要件一覧を取得

pno

page, limit, keyword

get_requirement_detail

要件詳細を表示

pno, rno

update_requirement

要件を更新

pno, rno

title, status, priority, describe, start_date, end_date

バグ

Tool

機能

必須パラメータ

オプションパラメータ

create_bug

バグを作成

pno, title

describe, priority(高/中/低), serious

list_bugs

バグ一覧を取得

pno

page, limit

update_bug

バグを更新

pno, rno

title, status, priority, serious, describe

タスク / スプリント / その他

Tool

機能

必須パラメータ

オプションパラメータ

create_todo

タスクを作成

pno, title

content, priority(high/medium/low), due_date, lane_no

list_todos

タスクボードを表示

pno

list_sprints

スプリント一覧を取得

pno

list_project_members

プロジェクトメンバーを取得

pno

search_tags

タグを検索

pno

keyword


MCP Resources

tool(能動的に呼び出す必要あり)に加えて、resource(AI がコンテキストとして読み取れる)もあります:

URI

内容

lalaleap://projects

プロジェクト一覧

lalaleap://project/{pno}/requirements

特定プロジェクトの要件

lalaleap://project/{pno}/bugs

特定プロジェクトのバグ

lalaleap://project/{pno}/sprints

特定プロジェクトのスプリント

lalaleap://project/{pno}/members

特定プロジェクトのメンバー


実際の会話例

你:幫我看一下有哪些專案
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個の要件を作成して」のような指示の誤解を防止。

推奨設定の組み合わせ

シナリオ

設定

開発/テスト

制限なし、または WRITE_RATE_LIMIT=20

日常使用

ALLOWED_PROJECTS=あなたのプロジェクトpno + WRITE_RATE_LIMIT=10

デモ展示

READONLY=1

チーム共有

ALLOWED_PROJECTS=チームプロジェクト + WRITE_RATE_LIMIT=5


開発

# 開發模式(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.ts

Tool の追加方法

  1. src/tools/ に対応するファイルを追加または修正

  2. server.tool(name, description, zodSchema, handler) で登録

  3. 新しいファイルの場合は、src/index.ts で import し、register 関数を呼び出す

  4. テストを実行して確認

// 範例:新增一個 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

問題

解決方法

certificate has expired

LALALEAP_UNSAFE_SSL=1 を設定

Need to change password (601)

自動処理済み(サーバーが keepCipher='Y' で再試行)

LALALEAP_API_URL 環境変数が未設定

MCP client 設定の env ブロックに含まれているか確認

サーバーに接続できない

npm run build が完了し、dist/index.js が存在するか確認

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 を参照。

Install Server
F
license - not found
A
quality
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    C
    maintenance
    A 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.
    361
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    An 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.
    2
    MIT

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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