Zentao MCP Server
Click on "Deploy 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., "@Zentao MCP Servershow me tasks in execution 42"
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.
Zentao MCP Server
A Model Context Protocol (MCP) server for integrating AI assistants (Claude, Cursor, etc.) with the ZenTao project management API.
Fetch task details, bug reports, and attachments โ all directly inside your AI chat.
โจ Features
Tool | Description |
| Fetch full details of a task or bug by ID |
| Fetch only the history and comments timeline of a task or bug (with comment IDs) |
| Add a comment/remark to a task or bug |
| Edit an existing comment by its action ID |
| Delete (soft-hide) a comment by its action ID |
| Update task status (start, finish, close, pause, cancel, restart) and add optional comments/hours |
| Update bug status (resolve, close, activate) and add optional comments/resolutions |
| Create a new task under an execution |
| Edit an existing task's fields |
| Get tasks and bugs currently assigned to you (configured via |
| Get only the tasks currently assigned to you |
| Get only the bugs currently assigned to you |
| Create a new bug under a product |
| Edit an existing bug's fields |
| List tasks in an execution (optionally filtered by keyword) |
| List bugs in a product (optionally filtered by keyword) |
| Search tasks or bugs within an execution/product scope, filtering by keyword, status, priority, severity, assignee, and/or opened-date range |
Under the hood:
๐ Auto login & token refresh โ no manual auth needed
๐ฆ In-memory cache (2 min TTL) + in-flight request dedup โ avoids redundant API calls
๐ Classic JSON API fallback โ seamlessly retries via the web API when the REST endpoint returns empty or errors
๐ผ๏ธ Inline HTML images are automatically downloaded and served as local
file://links๐ Attachments are downloaded and embedded as clickable local links
๐ก๏ธ Corrupt partial downloads are auto-cleaned on error
โก Non-blocking async image I/O โ base64 encoding uses
fs.promises+Promise.all
Related MCP server: JIRA MCP Server
๐ฆ Installation
Published on GitHub Packages โ add this to ~/.npmrc first (needs a GitHub token with read:packages):
@dyno-nexsoft:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=YOUR_GITHUB_TOKENnpx @dyno-nexsoft/zentao_mcp # run directly
npm install -g @dyno-nexsoft/zentao_mcp # or install globallyOr clone & build
git clone https://github.com/dyno-nexsoft/zentao_mcp.git
cd zentao_mcp
npm install
npm run buildโ๏ธ Configuration
Create a .env file in the project root (or pass via MCP client env block):
ZENTAO_BASE_URL=https://your-zentao-url.com/zentao/api.php/v1
ZENTAO_ACCOUNT=your_username
ZENTAO_PASSWORD=your_password
# Optional: bypass SSL certificate errors (self-signed/invalid cert).
# Set to 'true' only if your ZenTao server has a broken/untrusted certificate.
ZENTAO_ALLOW_INSECURE_SSL=false๐ MCP Client Integration
This server communicates via stdio transport โ compatible with any MCP client.
Claude Desktop / Cursor / Windsurf
Add to your MCP client config (e.g. claude_desktop_config.json):
{
"mcpServers": {
"zentao": {
"command": "npx",
"args": ["-y", "@dyno-nexsoft/zentao_mcp"],
"env": {
"ZENTAO_BASE_URL": "https://your-zentao-url.com/zentao/api.php/v1",
"ZENTAO_ACCOUNT": "your_username",
"ZENTAO_PASSWORD": "your_password",
"ZENTAO_ALLOW_INSECURE_SSL": "false"
}
}
}
}๐งโ๐ป Development
npm run build # Compile TypeScript
npm run dev # Watch mode
npm test # Unit tests (Jest)
npm run test:api # Live API integration testProject structure
src/
โโโ index.ts # MCP server entry point
โโโ zentaoClient.ts # Axios client: auth, cache, dedup, fallback, stream helpers
โโโ tools.ts # Thin orchestrator + backward-compat exports
โโโ utils/
โ โโโ fileUtils.ts # toFileUrl ยท getMimeType ยท formatSize
โ โโโ markdownUtils.ts # htmlToMarkdown ยท parseFiles ยท formatUser
โ โโโ mcpResponse.ts # mcpText ยท buildMcpResponse (async)
โโโ formatters/
โ โโโ imageLocalizer.ts # Inline <img> โ local file:// link (deduped, concurrent)
โ โโโ attachmentRenderer.ts # Attachments โ Markdown ## Files section
โ โโโ actionFormatter.ts # renderHistoryAndComments
โ โโโ taskFormatter.ts # taskToMarkdown (includes comments)
โ โโโ bugFormatter.ts # bugToMarkdown (includes comments)
โ โโโ myWorkFormatter.ts # myWorkToMarkdown ยท myTasksToMarkdown ยท myBugsToMarkdown
โโโ tools/
โโโ detailTool.ts # zentao_get_details
โโโ commentTool.ts # zentao_get_comments ยท zentao_add_comment ยท zentao_edit_comment ยท zentao_delete_comment
โโโ statusTool.ts # zentao_update_task_status ยท zentao_update_bug_status
โโโ taskTool.ts # zentao_create_task ยท zentao_edit_task
โโโ myWorkTool.ts # zentao_get_assigned_to_me ยท zentao_get_my_tasks ยท zentao_get_my_bugsRunning tests
npm test # Unit tests โ 19 tests across ZentaoClient
npm run test:api # Live API integration test (requires .env)๐ License
MIT ยฉ dyno-nexsoft
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP Server for JFrog, providing tools for development and artifact management.
An MCP server that provides access to Testiny projects, test cases and test runs
MCP server providing attendance data queries via the CloudTime API.
The MCP server for Azure DevOps, bringing the power of Azure DevOps directly to your agents.
Related MCP Servers
- AlicenseAqualityBmaintenanceA Model Context Protocol (MCP) server that integrates with Zentao's RESTful API to manage bugs, including listing, resolving, closing, and commenting, with support for product and project set contexts.1166 npm1MIT
- AlicenseAqualityDmaintenanceAn MCP server that provides tools to interact with JIRA for sprint management, issue tracking, and attachment handling.2325 npmMIT
- AlicenseAqualityBmaintenanceMCP server for Zentao that reads bugs, extracts reproduction steps, and allows AI to update bug status after fixing.721 npm5MIT
- AlicenseDqualityCmaintenanceAn MCP server that enables reading and managing Zentao tasks, bugs, requirements, test cases, and test suites via the ZenTao 11.3 Legacy Session API. It integrates with MCP clients like Codex, Claude Desktop, and Cursor.4811 npmMIT