Mantis MCP Server 基于模型上下文协议(MCP),用于与Mantis Bug Tracker集成的通信服务。它提供了一系列工具,允许用户查询和分析Mantis系统中的数据。
<a href="https://glama.ai/mcp/servers/@kfnzero/mantis-mcp-server"> <img width="380" height="200" src="https://gips1.baidu.com/it/u=2708971767,3200307628&fm=3081&app=3081&f=PNG?w=760&h=400" alt="Mantis Server MCP server" /> </a>要通过Smithery自动安装Mantis Bug Tracker集成到Claude Desktop:
npx -y @smithery/cli install @kfnzero/mantis-mcp-server --client claude
npm install mantis-mcp-server
.env文件:# Mantis API 配置
MANTIS_API_URL=https://your-mantis-instance.com/api/rest
MANTIS_API_KEY=your_api_key_here
# 应用配置
NODE_ENV=development # development, production, test
LOG_LEVEL=info # error, warn, info, debug
# 缓存配置
CACHE_ENABLED=true
CACHE_TTL_SECONDS=300 # 5分钟
# 日志配置
LOG_DIR=logs
ENABLE_FILE_LOGGING=false
.env文件中的MANTIS_API_KEY设置首先需要全局安装mantis-mcp-server:
npm install -g mantis-mcp-server
在Windows系统中,编辑%USERPROFILE%\.cursor\mcp.json(通常位于C:\Users\你的用户名\.cursor\mcp.json)添加以下配置:
{
"mcpServers": {
"mantis-mcp-server": {
"type": "stdio",
"command": "cmd",
"args": [
"/c",
"node",
"%APPDATA%\\npm\\node_modules\\mantis-mcp-server\\dist\\index.js"
],
"env": {
"MANTIS_API_URL": "YOUR_MANTIS_API_URL",
"MANTIS_API_KEY": "YOUR_MANTIS_API_KEY",
"NODE_ENV": "production",
"LOG_LEVEL": "info"
}
}
}
}
在macOS或Linux系统中,编辑~/.cursor/mcp.json添加以下配置:
{
"mcpServers": {
"mantis-mcp-server": {
"command": "npx",
"args": [
"-y",
"mantis-mcp-server@latest",
],
"env": {
"MANTIS_API_URL": "YOUR_MANTIS_API_URL",
"MANTIS_API_KEY": "YOUR_MANTIS_API_KEY",
"NODE_ENV": "production",
"LOG_LEVEL": "info"
}
}
}
}
注意:在macOS/Linux中,我们使用npx来运行最新版本的mantis-mcp-server,这确保了始终使用最新版本而无需全局安装。
MANTIS_API_URL:您的Mantis API URLMANTIS_API_KEY:您的Mantis API密钥NODE_ENV:执行环境,建议设置为"production"LOG_LEVEL:日志级别,可选值:error、warn、info、debug完成配置后,您可以:
.vscode/mcp.json中添加以下配置:{
"servers": {
"mantis-mcp-server": {
"type": "stdio",
"command": "node",
"args": ["${workspaceFolder}/dist/index.js"]
}
}
}
.vscode/launch.json中添加以下调试配置:{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "调试MCP服务器",
"skipFiles": ["<node_internals>/**"],
"outFiles": ["${workspaceFolder}/dist/**/*.js"],
"runtimeExecutable": "npx",
"runtimeArgs": [
"-y",
"@modelcontextprotocol/inspector",
"node",
"dist/index.js"
],
"console": "integratedTerminal",
"preLaunchTask": "npm: watch",
"serverReadyAction": {
"action": "openExternally",
"pattern": "running at (https?://\\S+)",
"uriFormat": "%s?timeout=60000"
},
"envFile": "${workspaceFolder}/.env"
}
]
}
获取Mantis的问题列表,可以根据多个标准进行筛选。
参数
projectId(可选):项目IDstatusId(可选):状态IDhandlerId(可选):处理者IDreporterId(可选):报告者IDsearch(可选):搜索关键词pageSize(可选,默认20):页面大小page(可选,默认0):起始页码,从1开始select(可选):选择要返回的字段,例如:['id', 'summary', 'description']。可以用来减少返回的数据量根据ID获取Mantis的问题详情。
参数
issueId:问题ID根据用户名搜索Mantis的用户。
参数
username:用户名获取Mantis的项目列表。
参数:无
获取Mantis的问题统计数据,基于不同的维度进行分析。
参数
projectId(可选):项目IDgroupBy:分组标准,可选值:status', 'priority', 'severity', 'handler', 'reporter'period(默认'all'):时间范围,可选值:all', 'today', 'week', 'month'获取Mantis的问题分配统计数据,分析不同用户的分配情况。
参数
projectId(可选):项目IDincludeUnassigned(默认'true'):是否包括未分配的问题statusFilter(可选):状态过滤器,仅计算具有特定状态的问题暴力获取所有用户的列表。
参数:无
服务使用withMantisConfigured高阶函数来处理共享检查逻辑,确保:
完整的错误处理机制包括:
# 安装依赖
npm install
# 构建
npm run build
# 开发模式(监视变更)
npm run watch
# 运行
npm start
如果启用了归档日志(ENABLE_FILE_LOGGING=true),日志文件将保存在:
logs/mantis-mcp-server-combined.log:所有级别的日志logs/mantis-mcp-server-error.log:仅错误级别的日志日志文件的最大大小限制为5MB,最多保留5个历史文件。
MIT
@ https://documenter.getpostman.com/view/29959/7Lt6zkP#c0c24256 -341e-4649-95cb-ad7bdc179399
npm login --registry= https://registry.npmjs.org/ npm run build npm publish --access public --registry= https://registry.npmjs.org/
npm version patch # 修复版本0.0.x npm version minor # 小版本0.x.0 npm version major # 主版本x.0.0
npm publish