Zentao Bug MCP
This server enables AI assistants (Cursor, Claude, Windsurf, etc.) to interact with the ZenTao (禅道) bug tracking system, allowing you to read, list, and manage bugs through the following tools:
zentao_health_check: Verify connectivity, authentication status, and which write-operation gates are enabled; optionally force a token refresh.zentao_list_my_bugs: Retrieve bugs assigned to the current user, with pagination, sorting, and type filtering — no product/project ID required.zentao_list_bugs: List bugs by product, project, or execution scope, with filters for status, keyword, assignee, and browse type (e.g., unclosed, unresolved).zentao_get_bug: Fetch full bug details, including an AI-friendly plain-text conversion of HTML reproduction steps (stepsPlain).zentao_resolve_bug: Mark a bug as resolved (e.g.,fixed,duplicate,bydesign) with an optional comment and reassignment. RequiresZENTAO_ALLOW_RESOLVE_BUG=true.zentao_close_bug: Close a bug with an optional comment. RequiresZENTAO_ALLOW_CLOSE_BUG=true.zentao_activate_bug: Re-activate a bug (e.g., when a fix fails verification), with optional reassignment. RequiresZENTAO_ALLOW_ACTIVATE_BUG=true.
Key safety features: All write operations (resolve, close, activate) are disabled by default and must be explicitly enabled via environment variables. All three support a dryRun: true mode to preview actions without making any changes.
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., "@Zentao Bug MCPshow my open bugs"
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.
禅道 Bug MCP
让 Cursor / Claude / Windsurf 等 AI 直接读禅道 Bug、按步骤修 Bug,修完后可选回写「已解决」。
适配禅道开源版 16.5+ / 18.12 · REST API v1
30 秒:能干什么
你想… | 在 AI 里这样说 |
确认装好了 | 「调用 zentao_health_check 检查禅道连接」 |
看我负责的 Bug | 「列出指派给我的 Bug,最新的 10 条」 |
读重现步骤修 Bug | 「读取 Bug #12345 详情,按 steps 帮我改代码」 |
查某产品下的 Bug | 「查产品 3 下 alice 的 active Bug」 |
修完回写禅道 | 「dryRun 预演把 #12345 标为 fixed,备注 xxx」(需开写权限) |
一条命令安装,无需 clone:
curl -fsSL https://raw.githubusercontent.com/ceeyang/zentao_mcp/main/install.sh | bashWindows:irm https://raw.githubusercontent.com/ceeyang/zentao_mcp/main/install.ps1 | iex
装完 重启 AI 客户端,按上表开聊即可。更多示例 → docs/FEATURES.zh-CN.md
Related MCP server: zentao-mcp-server
已实现功能
安装与集成
一条命令从 GitHub 下载、构建、写入 MCP 配置(
~/.local/share/zentao-mcp)交互安装:现场输入禅道账号,或选「稍后配置」
18 种 AI 客户端:Cursor、Claude Desktop、Claude Code、Windsurf、Trae、VS Code、Cline、OpenCode、Continue、Zed 等(
INSTALL_PLATFORMS=auto自动检测)node 绝对路径,避免 Cursor
spawn ENOENT
读 Bug(默认开启)
工具 | 能力 |
| 指派给当前账号的 Bug(不用记产品 ID) |
| 按产品 / 项目 / 执行筛选 |
| 详情 + HTML 重现步骤转纯文本( |
| 连通性 + 写权限开关状态 |
写 Bug(默认关闭,防误操作)
工具 | 需环境变量 |
|
|
|
|
|
|
均支持 dryRun: true 先预演。详见 功能示例。
安全与运维
产品白名单
ZENTAO_ALLOWED_PRODUCTS自签名 HTTPS
ZENTAO_SKIP_SSLToken / 账号密码双模式,401 自动刷新
统一 JSON 响应信封,方便 AI 解析
尚未实现
Bug 指派推送、群 每日汇总 机器人(需另建服务,见 讨论方向)
对话示例
Morning standup:
你:我禅道上有哪些没关的 Bug?
AI:→ zentao_list_my_bugs → 返回 6 条列表
你:重点看 #12345,读步骤,在 src/auth 里找原因
AI:→ zentao_get_bug → 读 stepsPlain → 改代码修完回写(已开 ZENTAO_ALLOW_RESOLVE_BUG):
你:测试过了,把 #12345 标为 fixed,备注「修复 token 过期未刷新」
AI:→ zentao_resolve_bug(resolution=fixed, comment=...)安装说明
执行上方
curl | bash(或 PowerShellirm ... | iex)按提示填禅道地址 / 账号 / 密码(可跳过)
选 AI 平台(直接回车 =
auto自动检测)完全重启 Cursor / Claude 等
对话:
调用 zentao_health_check 检查连接
稍后配置账号 — 编辑 ~/.cursor/mcp.json 等里的 zentao.env:
"env": {
"ZENTAO_URL": "https://your-zentao-host",
"ZENTAO_ACCOUNT": "your_account",
"ZENTAO_PASSWORD": "your_password",
"ZENTAO_SKIP_SSL": "true"
}文档
文档 | 内容 |
功能清单 + 每个工具的 AI 说法示例 | |
安装、平台列表、FAQ | |
复制给同事的一键安装文案 |
环境变量(摘要)
变量 | 说明 |
| 禅道凭据 |
| 自签名证书 → |
| 写操作开关,默认 |
| 可选,产品 ID 白名单 |
| 安装时: |
完整列表:.env.example
维护者
git clone https://github.com/ceeyang/zentao_mcp.git
cd zentao_mcp && npm install && npm run build && ./install.sh
npm run test:install # E2E
npm run verify:github # 检查 raw 安装链
npm run pack:release # 离线 tgzLicense
MIT
Available Tools
7 toolszentao_activate_bugA
Re-activate a bug when fix verification fails. Requires ZENTAO_ALLOW_ACTIVATE_BUG=true unless dryRun=true.
| Name | Required | Description | Default |
|---|---|---|---|
| bugId | Yes | Bug ID. | |
| dryRun | No | If true, return request summary only and do not call ZenTao. | |
| comment | No | Optional remark. | |
| assignedTo | No | Optional assignee account. | |
| openedBuild | No | Affected builds. Default: [trunk]. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It reveals the mutation action, the prerequisite guard, and the dry-run behavior. It lacks details on side effects beyond reactivation, but for a bug activation tool, the key behaviors are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, each packing essential information: the purpose and a usage condition. No redundant words, efficiently structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 5 parameters and no output schema, the description covers the action, when to use, and a critical prerequisite. It could mention the return structure or confirm that the bug status changes, but the context is sufficient for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by noting the requirement for dryRun and the default for openedBuild (implied but from schema), but does not add significantly beyond the schema's parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action ('re-activate a bug') and the condition ('when fix verification fails'). It distinguishes from siblings like zentao_resolve_bug and zentao_close_bug by focusing on reactivation after failed verification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly specifies when to use this tool (after fix verification fails) and notes the required environment variable ZENTAO_ALLOW_ACTIVATE_BUG=true unless dryRun=true, giving clear usage context. It does not explicitly compare to siblings but the condition implies when not to use alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zentao_close_bugA
Close a bug. Requires ZENTAO_ALLOW_CLOSE_BUG=true unless dryRun=true.
| Name | Required | Description | Default |
|---|---|---|---|
| bugId | Yes | Bug ID. | |
| dryRun | No | If true, return request summary only and do not call ZenTao. | |
| comment | No | Optional remark. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden. It mentions the dryRun behavior and condition, disclosing a testing mode, but omits details about side effects, permissions beyond the env var, or return value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences, no filler. First sentence states purpose, second adds crucial context, every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Minimally adequate: describes action and condition, but no output schema means the agent lacks info on success/failure response. Could be improved with behavioral details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline 3. The description adds no extra parameter meaning beyond what the schema already provides (bugId, dryRun, comment).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Close a bug' uses a specific verb and resource, clearly distinguishing it from siblings like zentao_resolve_bug or zentao_activate_bug.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states a prerequisite condition ('Requires ZENTAO_ALLOW_CLOSE_BUG=true unless dryRun=true'), guiding when the tool can be used, but does not compare to alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zentao_get_bugA
Get a single bug with raw payload and AI-friendly summary including plain-text steps.
| Name | Required | Description | Default |
|---|---|---|---|
| bugId | Yes | Bug ID. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the tool returns both raw payload and an AI-friendly summary with plain-text steps, indicating it's a read operation. This is sufficient for a simple tool, though it could explicitly state 'read-only' for clarity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is front-loaded with the main action ('Get a single bug'). No redundant words, every part adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple input (one required parameter) and no output schema, the description fully explains the output contents (raw payload + AI summary with plain-text steps). This is comprehensive for the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with bugId described as 'Bug ID.' The description does not add additional parameter details beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states 'Get a single bug', distinguishing it from list tools like zentao_list_bugs and mutation tools like zentao_resolve_bug. It also specifies the output includes raw payload and AI-friendly summary, adding clarity beyond the name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: use when you need a single bug's details. However, no explicit when-not or alternative tools are mentioned. The description could be improved by stating 'Use for detailed view of one bug; for listing, use zentao_list_bugs.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zentao_health_checkC
Check ZenTao MCP configuration, authentication, and write-operation gates.
| Name | Required | Description | Default |
|---|---|---|---|
| forceTokenRefresh | No | Force refresh token before checking connectivity. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must bear the full burden of disclosing behavior. It states that the tool 'checks' things but does not specify side effects, whether it modifies state, or what happens during a token refresh. The behavioral information is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently conveys the tool's purpose. It contains no unnecessary words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks information about the return value or output format, which is important for a health check tool. Without an output schema, the agent has no idea what to expect after calling the tool. It also does not explain the context of checking write-operation gates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema covers the single boolean parameter with a description. The tool description does not add any additional semantics beyond the schema. With 100% schema coverage, a baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that the tool checks configuration, authentication, and write-operation gates. It distinguishes itself from sibling bug-focused tools by its unique purpose. However, 'write-operation gates' could be more explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, typical use cases, or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zentao_list_bugsB
List bugs by product, project, or execution scope.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Scope entity ID. | |
| page | No | Page number. Default: 1. | |
| limit | No | Page size. Default: 20. | |
| scope | Yes | Scope dimension. | |
| status | No | Optional status filter. | |
| keyword | No | Optional keyword filter. | |
| assignedTo | No | Optional assignee account filter. | |
| browseType | No | Optional browse type, e.g. unclosed, unresolved, assigntome. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, and the description lacks behavioral details like pagination behavior, return format, or performance implications. Only states the basic listing action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, concise. Could benefit from more structure but is not verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 parameters and no output schema, the description is minimal. Missing details on return structure, pagination, and filter behavior, making it incomplete for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are documented in schema. Description adds little beyond the scope parameter concept, not elaborating on filters or usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states 'list bugs' and specifies the filtering scope (product, project, execution). Distinguishes from sibling tools like zentao_get_bug and zentao_list_my_bugs, though could be more explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for listing bugs by scope, but does not provide explicit when-to-use or when-not-to-use guidance, nor mention alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zentao_list_my_bugsA
List bugs assigned to the current logged-in user. No product/project ID required.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number. Default: 1. | |
| type | No | Work type filter. Default: assignedTo. | |
| limit | No | Page size. Default: 20. | |
| order | No | Sort order. Default: id_desc. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It adds that the tool lists bugs assigned to current user, but does not disclose authentication needs, read-only nature, or pagination behavior beyond schema. Adequate but not thorough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence, front-loaded with purpose and scope. No extraneous words, every part earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite low complexity (4 params, no output schema), the description fails to mention return format, read-only behavior, or pagination details, leaving gaps for an agent invoking the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and description adds no extra parameter details beyond the schema. Baseline of 3 is appropriate as it does not enhance understanding of parameter usage or values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'List' and resource 'bugs', with scope 'assigned to the current logged-in user'. It distinguishes from siblings like 'zentao_list_bugs' (likely broader) and 'zentao_get_bug' (single item).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'No product/project ID required' implying ease of use, but does not explicitly state when to use this vs alternatives, nor provide exclusions or when-not-to-use conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
zentao_resolve_bugB
Resolve a bug after fixing code. Requires ZENTAO_ALLOW_RESOLVE_BUG=true unless dryRun=true.
| Name | Required | Description | Default |
|---|---|---|---|
| bugId | Yes | Bug ID. | |
| dryRun | No | If true, return request summary only and do not call ZenTao. | |
| comment | No | Optional remark recorded with the resolve action. | |
| assignedTo | No | Optional assignee account after resolve. | |
| resolution | Yes | Resolution code. Usually fixed. | |
| duplicateBug | No | Duplicate bug ID when resolution=duplicate. | |
| resolvedBuild | No | Resolved build. Default: trunk. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden. It discloses the dryRun behavior and environment variable requirement, but omits side effects, authentication needs, or failure modes. Basic mutation behavior is implied but not detailed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that efficiently states purpose and a key condition. It is front-loaded and concise, though slightly under-specified.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 7 parameters, is a mutation, and has no output schema or annotations, the description is too minimal. It does not explain the effect of resolution, expected return values, or error conditions, leaving gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all parameters. The description adds no additional meaning beyond what the schema provides, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Resolve a bug after fixing code,' specifying the verb and resource. It implicitly distinguishes from siblings like zentao_close_bug or zentao_activate_bug, but does not explicitly differentiate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description notes a prerequisite (ZENTAO_ALLOW_RESOLVE_BUG=true unless dryRun=true), providing conditional guidance. However, it does not discuss when to use this tool versus siblings or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a unique action and target: activate, close, get, health check, list (general), list (my), resolve. No two tools overlap in purpose; an agent can clearly distinguish them.
All tools use a consistent 'zentao_verb_noun' snake_case pattern (e.g., zentao_activate_bug, zentao_list_bugs). Even zentao_health_check follows the pattern, and zentao_list_my_bugs is a natural variation. No mixing of styles.
With 7 tools covering core bug operations and a health check, the number is well-scoped for a bug management MCP server. It is neither too sparse nor too bloated.
The set covers the main bug lifecycle states (activate, resolve, close) plus listing and retrieval. However, it lacks create and update operations, which are typical for a bug tracker. This is a minor gap that agents can work around if bugs are created via other means.
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 Connectors
MCP server enabling AI agents to manage Bitrix24 features via standardized protocol
The Jam MCP server provides AI tools with instant bug context without manual prompting, enabling a streamlined workflow from bug identification to ticket creation and pull request generation without switching between tools.
Voice-powered bug reporting with 13 MCP tools. Record bugs by talking; let AI find and fix them.
MCP server for AI access to SmartBear tools, including BugSnag, Reflect, Swagger, PactFlow, QTM4J.
Related MCP Servers
- AlicenseBqualityDmaintenanceA Python MCP server that retrieves requirements and bug data from TAPD platform to provide AI clients with project management information.212MIT
- 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.11571MIT
- FlicenseDqualityBmaintenanceAI-powered MCP server for analyzing UI designs and bug reports from Lanhu and Zentao platforms.2
- FlicenseNot gradedqualityBmaintenanceAn MCP server that integrates with Zentao API to provide tools for accessing tasks, bugs, and attachments from project management.2,469
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/ceeyang/zentao_mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server