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 repo를 가리키면 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에서 새 server를 추가하고 위와 동일한 필드를 입력합니다.

전제 조건: 사용자의 머신이 GitHub repo에 접근 권한이 있어야 합니다 (private repo는 SSH key 또는 personal access token 필요).

LALALEAP_UNSAFE_SSL=1은 dev 환경에서 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 도구를 재시작하고 바로 대화를 시작하면 됩니다.


인증 방식

두 가지 중 하나를 지원합니다:

방식

환경 변수

설명

계정 로그인

LALALEAP_EMAIL + LALALEAP_PASSWORD

비밀번호 SHA256 암호화는 프로그램이 처리하므로 평문 입력

API 토큰

LALALEAP_API_TOKEN

추후 백엔드 지원 시 사용 가능, 계정 로그인보다 우선

모든 환경 변수:

변수

필수

설명

LALALEAP_API_URL

API 기본 URL

LALALEAP_EMAIL

택일

로그인 이메일

LALALEAP_PASSWORD

택일

로그인 비밀번호

LALALEAP_API_TOKEN

택일

API 토큰 (계정 로그인보다 우선)

LALALEAP_UNSAFE_SSL

아니오

1 = SSL 검증 건너뛰기

LALALEAP_READONLY

아니오

1 = 읽기 전용 모드, 모든 쓰기 작업 금지

LALALEAP_ALLOWED_PROJECTS

아니오

프로젝트 화이트리스트 (쉼표로 구분된 pno), 해당 프로젝트에만 쓰기 허용

LALALEAP_WRITE_RATE_LIMIT

아니오

분당 최대 쓰기 횟수 (기본 10)


사용 가능한 도구 목록

총 15개의 도구가 있으며, AI가 사용자의 명령에 따라 자동으로 선택하여 호출합니다.

프로젝트

도구

기능

필수 매개변수

선택적 매개변수

list_projects

모든 프로젝트 나열

get_project_detail

프로젝트 상세 보기

pno

create_project

새 프로젝트 생성

name

type (0 공개/1 비공개)

요구사항

도구

기능

필수 매개변수

선택적 매개변수

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

버그

도구

기능

필수 매개변수

선택적 매개변수

create_bug

버그 생성

pno, title

describe, priority(높음/중간/낮음), serious

list_bugs

버그 목록 조회

pno

page, limit

update_bug

버그 수정

pno, rno

title, status, priority, serious, describe

할 일 / 스프린트 / 기타

도구

기능

필수 매개변수

선택적 매개변수

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 리소스

도구 (수동 호출 필요) 외에도 리소스 (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 시 자동으로 토큰 갱신, 실패 시 재로그인

  • 2단계 생성: 요구사항/버그 생성 시 먼저 POST /add로 번호를 받고, 그다음 POST /edit로 필드 입력 (프론트엔드와 동일한 동작)

  • 모든 오류가 crash를 유발하지 않음: 각 도구에 try-catch가 적용되어 친절한 한국어 오류 메시지 반환

  • 쓰기 보호: WriteGuard 메커니즘이 모든 쓰기 작업 보호 (아래 참조)


보안 보호 (WriteGuard)

AI가 명령을 오해하여 대량의 쓰레기 데이터를 생성할 수 있습니다. 모든 쓰기 작업 (create / update)에는 세 가지 방어선이 있습니다:

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. 쓰기 빈도 제한

분당 최대 쓰기 횟수를 제한하여 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

새 도구 추가

  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,
      };
    }
  }
);

문제 해결

문제

해결 방법

certificate has expired

LALALEAP_UNSAFE_SSL=1 설정

Need to change password (601)

자동 처리됨 (서버가 keepCipher='Y'로 재시도)

LALALEAP_API_URL 환경 변수가 설정되지 않음

MCP 클라이언트 설정의 env 블록에 포함되었는지 확인

서버에 연결할 수 없음

npm run build가 완료되었고 dist/index.js가 존재하는지 확인

도구가 나타나지 않음

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 (도구 + 리소스 + 경계 조건 포함)

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