FerryZhaoHui/leiga-mcp-server-test
If you are the rightful owner of leiga-mcp-server-test and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Leiga MCP Server is a Model Context Protocol server designed for seamless integration with the Leiga Open API, enabling interaction with Leiga's issue search system.
Leiga MCP Server
A Model Context Protocol server for the Leiga Open API.
This server provides integration with Leiga's issue search system through MCP, allowing LLMs to interact with Leiga issues.
Installation
Manual Installation
-
Create or get a Personal API Keys for your team: https://app.leiga.com/setting/api-key
-
Add server config to Cursor Desktop:
{
"mcpServers": {
"leiga-mcp-server": {
"command": "npx",
"args": [
"-y",
"leiga-mcp-server"
],
"env":{
"LEIGA_CLIENT_ID":"you client id",
"LEIGA_SECRET":"you client secret"
}
}
}
}
Components
Tools
-
search_all_issues
: Search issues with flexible filtering- Optional inputs:
query
(string): Text to search in titleprojectName
(string): Filter by project namestatus
(string): Filter by status typeassignee
(string):Filter by assignee's usernamelabel
(string): Filter by labelpriority
(string): Filter by prioritysprint
(string): Filter by sprint nameworkType
(string): Filter by issue work type namestartAfterDate
(string): Filter issues that start AFTER or ON this date (YYYY-MM-DD format)startBeforeDate
(string): Filter issues that start BEFORE or ON this date (YYYY-MM-DD format)dueAfterDate
(string): Filter issues that are due AFTER or ON this date (YYYY-MM-DD format)dueBeforeDate
(string): Filter issues that are due BEFORE or ON this date (YYYY-MM-DD format)createdAfterDate
(string): Filter issues that were created AFTER or ON this date (YYYY-MM-DD format)createdBeforeDate
(string): Filter issues that were created BEFORE or ON this date (YYYY-MM-DD format)pageSize
(number, default: 10): Max results
- Optional inputs:
-
get_issue_detail
: Get issue detail by using issue ID or issue number.- Required inputs:
issueId
(string): Issue ID or issue number
- Required inputs:
-
my_assigned_issues
: Retrieves my issues, specifically those assigned to the authenticated user.- Optional inputs:
query
(string): Text to search in titleprojectName
(string): Filter by project namestatus
(string): Filter by status typelabel
(string): Filter by labelpriority
(string): Filter by prioritysprint
(string): Filter by sprint nameworkType
(string): Filter by issue work type namestartAfterDate
(string): Filter issues that start AFTER or ON this date (YYYY-MM-DD format)startBeforeDate
(string): Filter issues that start BEFORE or ON this date (YYYY-MM-DD format)dueAfterDate
(string): Filter issues that are due AFTER or ON this date (YYYY-MM-DD format)dueBeforeDate
(string): Filter issues that are due BEFORE or ON this date (YYYY-MM-DD format)createdAfterDate
(string): Filter issues that were created AFTER or ON this date (YYYY-MM-DD format)createdBeforeDate
(string): Filter issues that were created BEFORE or ON this date (YYYY-MM-DD format)pageSize
(number, default: 10): Max results
- Optional inputs:
-
list_project
: Show project list with authenticated user, without inputs. -
create_issue
:Creates a new Leiga issue.- Required inputs:
summary
(string): Issue summaryprojectName
(string): Project name
- Optional inputs:
description
(string): Issue descriptionstatusName
(string): Issue status (e.g., 'Not Started', 'In Progress', 'Done' )priority
(string): priority name (e.g., 'Lowest', 'Low', 'Medium', 'High', 'Highest')sprint
(string): Sprint nameworkType
(string): Work type name (e.g., 'Story', 'Chore', 'Bug')
- Required inputs:
-
get_issue_options
: Get selectable option fields for an issue.- Required inputs:
issueId
(string): Issue ID or issue number (e.g., 12345 or ABC-678)
- Required inputs:
-
update_issue
: Update an issue by ID or issue number.- Required inputs:
issueId
(string): Issue ID or issue number (e.g., 12345 or ABC-678)
- Optional inputs:
summary
(string): New summarydescription
(string): New descriptionstatusName
(string): Workflow status name to setpriorityName
(string): Priority name to setassigneeName
(string): Assignee name to setlabels
(string[]): Label names to setfollows
(string[]): Follower names to setreleaseVersionName
(string): Release version name to setdueDate
(string | number): Due date (YYYY-MM-DD) or timestamp in msstartDate
(string | number): Start date (YYYY-MM-DD) or timestamp in ms
- Required inputs:
-
list_issue_comments
: List comments of an issue with pagination.- Required inputs:
issueId
(string): Issue ID or issue number (e.g., 12345 or ABC-678)
- Optional inputs:
pageNumber
(number): Page number (default 1)pageSize
(number): Page size (default 20)
- Required inputs:
-
create_comment
: Create a comment or reply for an issue.- Required inputs:
issueId
(string): Issue ID or issue number (e.g., 12345 or ABC-678)content
(string): Comment content
- Optional inputs:
commentId
(number): Comment ID to reply to (for replies)
- Required inputs:
-
current_date
: Get current date (local timezone).
- No inputs.
list_project_members
: List members of a specific project.
- Required inputs:
projectId
(number): Project ID
- Optional inputs:
keyword
(string): Keyword to search memberspageNumber
(number): Page number (default 1)pageSize
(number): Page size (default 20)
list_org_members
: List all organization members with optional search.
- Optional inputs:
key
(string): Keyword to search memberspageNumber
(number): Page number (default 1)pageSize
(number): Page size (default 20)
Usage examples
Some example prompts you can use with Cursor Desktop to interact with Leiga:
-
"Show me all my high-priority issues" → execute the
my_assigned_issues
tool to find issues assigned to you with priority is high -
"Show the detail of issue: XX-1" → use
get_issue_detail
tool to return the detail info of issue number is XX-1 -
"Find all in progress issues" → use
search_all_issues
to locate issues with in progress task -
"list projects" -> use
list_project
to list all the projects you have access to. -
"create issue 'xxxx summary' in xxx project " -> use
create_issue
to help you create a issue. -
"show selectable fields for issue XX-1" → use
get_issue_options
withissueId: "XX-1"
to list all option fields and their valid values -
"set XX-1 to Done and assign to Alice" → use
update_issue
withissueId: "XX-1"
,statusName: "Done"
,assigneeName: "Alice"
-
"list comments for XX-1, page 2, 10 per page" → use
list_issue_comments
withissueId: "XX-1"
,pageNumber: 2
,pageSize: 10
-
"reply to comment 123 on XX-1: Looks good" → use
create_comment
withissueId: "XX-1"
,content: "Looks good"
,commentId: 123
-
"what's today's date?" → use
current_date
to return the current local date -
"list members of project 456" → use
list_project_members
withprojectId: 456
-
"search org members by 'john'" → use
list_org_members
withkey: "john"
License
This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.