Zentao MCP Server
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 MCP Servershow me my active bugs assigned to me"
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.
RDMS MCP Server
这是一个专为RDMS BUG跟踪系统设计的MCP服务器,让Cursor能够直接读取和操作RDMS系统中的BUG信息,并支持AI图片分析功能。
功能特性
🔐 自动登录 - 支持RDMS系统的用户认证
🐛 BUG详情 - 根据BUG ID获取完整的BUG信息
🖼️ 图片分析 - 自动提取并分析BUG附件图片,支持AI视觉解析
🔍 搜索功能 - 支持多条件搜索BUG
📋 列表获取 - 获取项目的BUG列表
👤 我的BUG - 查看分配给当前用户的BUG
📊 工作面板 - 获取工作面板统计信息
⏳ 待处理BUG - 查看待处理的BUG列表
🏪 市场缺陷 - 查看分配给自己的市场缺陷
📥 图片下载 - 下载RDMS系统中的图片附件
Related MCP server: Honeybadger MCP Server
安装步骤
安装依赖:
npm install在Cursor中配置MCP服务器,在设置中添加:
{
"mcpServers": {
"rdms": {
"command": "node",
"args": ["path/to/rdms-mcp-server/index.js"],
"env": {
"RDMS_BASE_URL": "https://rdms.streamax.com",
"RDMS_USERNAME": "your_username",
"RDMS_PASSWORD": "your_password"
}
}
}
}使用方法
1. 登录RDMS系统
// 使用rdms_login工具
{
"baseUrl": "https://rdms.streamax.com",
"username": "your_username",
"password": "your_password"
}2. 获取BUG详情(含图片分析)
// 使用rdms_get_bug工具
{
"bugId": "141480",
"analyzeImages": true // 自动分析图片
}3. 搜索BUG
// 使用rdms_search_bugs工具
{
"query": "登录问题",
"status": "active",
"assignedTo": "username",
"limit": 20
}4. 获取我的BUG
// 使用rdms_get_my_bugs工具
{
"status": "active",
"limit": 20
}5. 下载并分析图片
// 使用rdms_download_image工具
{
"imageUrl": "https://rdms.streamax.com/index.php?m=file&f=read&t=png&fileID=413370",
"analyze": true // 返回图片供AI分析
}图片分析功能
RDMS MCP Server的核心特性是能够:
自动提取图片 - 从BUG详情页面自动提取所有附件图片
图片下载 - 支持下载RDMS系统中的图片文件
AI视觉分析 - 将图片转换为base64格式,供AI助手进行视觉分析
图片信息 - 提供图片的类型、大小等元数据信息
图片分析工作流程
graph TD
A[获取BUG详情] --> B[提取图片链接]
B --> C[下载图片数据]
C --> D[转换为base64]
D --> E[返回给AI分析]
E --> F[AI解析图片内容]支持的BUG信息字段
ID、标题、状态、优先级、严重程度
指派人、报告人、所属产品、项目、模块
影响版本、操作系统、浏览器
重现步骤、描述、关键词
创建时间、更新时间
图片附件 - 自动提取并支持AI分析
环境变量配置
可以通过环境变量预设登录信息:
export RDMS_BASE_URL="https://rdms.streamax.com"
export RDMS_USERNAME="your_username"
export RDMS_PASSWORD="your_password"注意事项
首次使用需要先调用
rdms_login工具进行登录登录状态会在会话期间保持
图片分析功能需要网络连接下载图片
大图片可能需要较长时间处理
网络超时设置为30秒
故障排除
如果遇到登录问题:
检查网络连接和URL是否正确
确认用户名密码是否正确
检查RDMS系统是否需要验证码
查看是否有IP限制或其他安全策略
如果遇到图片分析问题:
确认图片URL是否可访问
检查网络连接是否稳定
验证图片格式是否支持
开发说明
本MCP服务器使用以下技术:
Node.js + ES模块
@modelcontextprotocol/sdk
axios (HTTP客户端)
cheerio (HTML解析)
fs (文件系统操作)
测试
新版测试脚本(推荐)
使用改进的测试脚本来验证所有8个对外接口:
# 查看帮助
node test.js --help
# 运行所有测试
node test.js
# 运行单个测试
node test.js rdms_login
node test.js rdms_get_bug
node test.js rdms_search_bugs
node test.js rdms_get_my_bugs
node test.js rdms_get_market_defect
node test.js rdms_search_market_defects
node test.js rdms_get_market_defects
node test.js rdms_download_image环境变量配置
# Windows PowerShell
$env:RDMS_BASE_URL="http://your-rdms-system.com"
$env:RDMS_USERNAME="your-username"
$env:RDMS_PASSWORD="your-password"
# Linux/Mac
export RDMS_BASE_URL="http://your-rdms-system.com"
export RDMS_USERNAME="your-username"
export RDMS_PASSWORD="your-password"详细的测试使用指南请参考 TEST_USAGE.md
旧版测试脚本
node test.js <用户名> <密码> [测试类型]测试类型:
all- 运行所有测试login- 测试登录功能bug- 测试BUG获取功能dashboard- 测试工作面板pending- 测试待处理BUGmarket- 测试市场缺陷my-bugs- 测试我的BUG
Available Tools
5 toolsrdms_download_imageC
Download and optionally analyze image from RDMS system
| Name | Required | Description | Default |
|---|---|---|---|
| analyze | No | Whether to return image for AI analysis | |
| filename | No | Optional filename for saved image | |
| imageUrl | Yes | Image URL from RDMS |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions downloading and optional analysis but fails to describe critical behaviors: where the image is saved (local file vs. memory), authentication requirements, rate limits, error handling, or what 'analysis' entails. This leaves significant gaps for a tool that interacts with external systems.
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, efficient sentence that states the core functionality. It's appropriately front-loaded with the primary action. However, it could be slightly more specific about the download destination to improve clarity without adding unnecessary length.
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 3 parameters, no annotations, and no output schema, the description is insufficient. It doesn't explain what the tool returns (image data, analysis results, file path), error conditions, or system dependencies. The lack of behavioral transparency and output information makes it incomplete for effective agent 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 description coverage is 100%, so the schema fully documents all three parameters. The description adds no additional parameter semantics beyond what's already in the schema descriptions. It mentions 'optionally analyze' which aligns with the analyze parameter but provides no extra context about analysis outcomes or filename 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?
The description clearly states the verb 'download' and resource 'image from RDMS system', specifying the core action. It distinguishes from sibling tools which focus on bug retrieval rather than image operations. However, it doesn't specify whether this downloads to local storage or returns data directly, leaving some ambiguity.
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 mentions optional analysis but doesn't explain when analysis is beneficial or what alternatives exist for similar functions. No prerequisites, exclusions, or sibling tool comparisons are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rdms_get_bugA
Get bug details by ID with image extraction. Returns bug information including image URLs but NOT image content. If you need to analyze image content, use the rdms_download_image tool with the returned image URLs.
| 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 provided, the description carries the full burden and effectively discloses key behavioral traits: it's a read operation (implied by 'Get'), returns bug information including image URLs but not image content, and has a clear workflow dependency (use rdms_download_image for image analysis). It doesn't mention permissions, rate limits, or error handling, but covers the core behavior well for a read tool.
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 perfectly concise and front-loaded: the first sentence states the core purpose and key limitation, the second provides critical usage guidance. Every sentence earns its place with zero wasted words, making it highly efficient for an AI agent.
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's low complexity (single parameter, read-only operation), no annotations, and no output schema, the description is quite complete: it explains what the tool does, what it returns, its limitations, and how to handle those limitations. The main gap is the lack of output format details, but for a simple getter tool, this is acceptable.
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 schema description coverage is 100% (bugId parameter is fully documented in the schema), so the baseline is 3. The description doesn't add any parameter-specific details beyond what the schema provides (e.g., format examples or constraints), but it doesn't need to since the schema already covers it adequately.
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 tool's purpose with specific verbs ('Get bug details by ID') and resource ('bug'), distinguishing it from siblings by specifying it returns bug information with image URLs but not image content. It explicitly contrasts with rdms_download_image for image analysis needs.
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 explicit guidance on when to use this tool (to get bug details with image URLs) and when not to use it (if you need to analyze image content), naming the alternative tool (rdms_download_image) and specifying the condition for using it (with returned image URLs).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rdms_get_market_bugA
Get market bug details by ID with image extraction. Returns market bug information including image URLs but NOT image content. If you need to analyze image content, use the rdms_download_image tool with the returned image URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| marketBugId | Yes | Market bug ID |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behaviors: it returns information including image URLs but not image content, and it requires image content analysis to be handled by another tool. However, it lacks details on error handling, rate limits, or authentication needs, which are common gaps for a read operation.
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 front-loaded with the core purpose in the first sentence, followed by a clarifying limitation and explicit alternative usage. Both sentences earn their place by providing essential information without redundancy, making it efficient and well-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?
Given the tool's simplicity (1 parameter, no output schema, no annotations), the description is largely complete: it covers purpose, usage guidelines, and key behavioral traits. However, it could benefit from mentioning the return structure (e.g., what fields are included beyond image URLs) to fully compensate for the lack of output schema, though the sibling tool reference mitigates this gap.
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 schema description coverage is 100%, with the parameter 'marketBugId' clearly documented in the schema. The description does not add any additional meaning or context beyond what the schema provides about the parameter, such as format examples or constraints. This meets the baseline for high schema 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 the specific action ('Get market bug details by ID with image extraction'), identifies the resource ('market bug'), and distinguishes it from sibling tools by specifying it returns image URLs but not content, unlike rdms_download_image which handles content analysis. This precise verb+resource+scope combination effectively differentiates it from alternatives.
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 provides when to use this tool ('Get market bug details by ID with image extraction') and when not to use it ('If you need to analyze image content, use the rdms_download_image tool with the returned image URLs'), naming the alternative tool directly. This offers clear guidance on tool selection based on the need for image content analysis.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rdms_get_my_bugsC
Get bugs assigned to current user
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results | |
| status | No | Filter by status | active |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool retrieves bugs but doesn't mention whether this is a read-only operation, if it requires authentication, what the return format looks like, or any rate limits. For a tool with zero annotation coverage, this leaves significant behavioral gaps.
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, efficient sentence that directly states the tool's function without unnecessary words. It's appropriately sized and front-loaded, making it easy to parse while conveying the essential purpose.
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 lack of annotations and output schema, the description is insufficiently complete. It doesn't explain what the tool returns (e.g., bug details, list format), error conditions, or behavioral constraints. For a tool with two parameters and no structured output documentation, more context is needed 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?
The input schema has 100% description coverage, clearly documenting both parameters with defaults and types. The description doesn't add any parameter-specific information beyond what's in the schema, so it meets the baseline of 3 where the schema does the heavy lifting without compensating for gaps.
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 action ('Get') and resource ('bugs assigned to current user'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'rdms_get_my_market_bugs' which appears to serve a similar purpose for a different bug type, leaving room for improvement in sibling distinction.
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 like 'rdms_get_my_market_bugs' or 'rdms_get_bug'. It lacks context about prerequisites, exclusions, or typical scenarios for usage, offering only a basic functional statement without operational context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rdms_get_my_market_bugsB
Get market bugs assigned to current user
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max results |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the action ('Get') but doesn't describe traits such as whether this is a read-only operation, potential rate limits, authentication needs, or what happens if no bugs are found. This leaves significant gaps in understanding the tool's behavior beyond its basic purpose.
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, efficient sentence that directly states the tool's purpose without any wasted words. It's front-loaded and appropriately sized for a simple tool, making it easy for an agent to parse and understand quickly.
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 one parameter, high schema coverage, and no output schema, the description is minimally adequate. It covers the basic purpose but lacks details on behavioral traits, usage context, and output format, which could help the agent use it more effectively. Given the simplicity, it meets a baseline level of completeness but has clear gaps.
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 has 100% description coverage, with the 'limit' parameter clearly documented. The description doesn't add any parameter-specific information beyond what the schema provides, such as default behavior or constraints. Given the high schema coverage, a baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.
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 ('Get') and resource ('market bugs assigned to current user'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'rdms_get_my_bugs' or 'rdms_get_market_bug', which might have overlapping functionality, so it doesn't reach the highest score.
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 like 'rdms_get_my_bugs' or 'rdms_get_market_bug'. It implies usage for retrieving bugs assigned to the current user, but lacks explicit context, exclusions, or comparisons with siblings, leaving the agent to infer usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
The tools are mostly distinct with clear purposes: two for getting bug details (regular and market), two for listing assigned bugs (regular and market), and one for downloading images. However, rdms_get_bug and rdms_get_market_bug could potentially be confused as they both retrieve bug details, differentiated only by 'market' vs. regular, but their descriptions clarify this distinction.
All tool names follow a consistent snake_case pattern with the prefix 'rdms_' and a clear verb_noun structure (e.g., 'download_image', 'get_bug', 'get_my_bugs'). This consistency makes the tool set predictable and easy to understand.
With 5 tools, the count is reasonable for a bug tracking domain, covering key operations like retrieving bug details and lists. It's slightly lean but functional, as it includes core read operations and an image download utility, though it might benefit from additional tools for broader CRUD coverage.
The tool set focuses on read operations and image handling, with no tools for creating, updating, or deleting bugs, which are typical in bug tracking systems. This creates notable gaps in lifecycle coverage, though agents can still perform basic retrieval and analysis tasks with the provided tools.
Related MCP Connectors
Connect to Atlassian Jira, Confluence, and Compass to search, create, and manage your work.
Search, read and create Linear issues, projects, teams and cycles.
Run your website's AI support agent from Claude, Cursor or any MCP client. Manage the knowledge base, edit agent instructions, read conversations and leads, reply live to visitors, and check plan usage. 54 tools, OAuth sign-in, no API key. Free with every Asyntai account: https://asyntai.com/documentation/mcp/
Opinionated sprint tracker. Read/update tickets, sprints, velocity from Claude/Cursor/Zed.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceFacilitates integration with the Cursor code editor by enabling real-time code indexing, analysis, and bi-directional communication with Claude, supporting concurrent sessions and automatic reconnection.1339MIT
- AlicenseAqualityCmaintenanceIntegrates Honeybadger error tracking with Cursor IDE, allowing developers to fetch, analyze, and troubleshoot application errors directly from their development environment.41986MIT
- FlicenseBqualityDmaintenanceUm servidor MCP completo para integração com Sentry no Cursor, oferecendo 27 ferramentas para monitoramento de erros, performance e saúde de aplicações.27
- FlicenseNot gradedqualityFmaintenanceEnables interaction with Azure DevOps through Cursor chat, providing tools to manage builds, pipelines, work items, sprints, and board operations. Supports secure authentication via Personal Access Tokens and allows natural language-driven DevOps task management.1
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/ad19900913/mcp-rdms'
If you have feedback or need assistance with the MCP directory API, please join our Discord server