mcp-server-redmine
Enables AI assistants to create, update, and query Redmine issues and projects directly from conversations.
README
MCP Server for Redmine
Model Context Protocol (MCP) server for Redmine project management integration. Allows AI assistants to create, update, and query Redmine issues directly from conversations.
Features
- ✅ Create issues with full metadata (priority, estimates, parent tasks)
- ✅ Update existing issues (status, description, comments)
- ✅ List and filter issues by project and status
- ✅ Get detailed issue information
- ✅ List all accessible projects
Installation
cd mcp-server-redmine
npm install
npm run build
Configuration
Set environment variables for your Redmine instance:
export REDMINE_URL="https://your-redmine.com"
export REDMINE_API_KEY="your-api-key-here"
Getting Your Redmine API Key
IMPORTANT: You need the REST API key, not the Atom feed key!
If REST API is Enabled:
- Log into Redmine
- Go to "My account" (top right)
- Look for "API access key" section (right sidebar)
- Click "Show" to reveal the key
- Copy the 40-character key
If You Only See "Atom Access Key":
The Atom key is for RSS feeds only. You need REST API enabled:
-
Admin must enable it:
- Administration → Settings → API
- Check "Enable REST web service"
- Save
-
Then get your key:
- Refresh "My account" page
- "API access key" section should now appear
- Click "Show" and copy
-
Alternative: Try using Atom key
- Some Redmine versions accept it
- Test with
npm test - If 401 error, you need proper API key
Usage with Amazon Q
Add to your Amazon Q configuration file (~/.aws/amazonq/mcp.json or IDE settings):
{
"mcpServers": {
"redmine": {
"command": "node",
"args": ["/absolute/path/to/mcp-server-redmine/build/index.js"],
"env": {
"REDMINE_URL": "https://your-redmine.com",
"REDMINE_API_KEY": "your-api-key-here"
}
}
}
}
Available Tools
create_issue
Create a new Redmine issue/task.
Parameters:
project_id(required): Project ID numbertracker_id: Tracker type (1=Bug, 2=Feature, 3=Support) - defaults to 2 (Feature)subject(required): Issue titledescription: Issue description (markdown supported)priority_id: Priority level (1=Low, 2=Normal, 3=High, 4=Urgent, 5=Immediate)estimated_hours: Time estimate in hoursparent_issue_id: Parent issue ID for creating subtasks
Example:
Create a Redmine issue in project 1 titled "Implement ServingsService"
with description "Add quantity scaling logic" and estimate 8 hours
update_issue
Update an existing issue.
Parameters:
issue_id(required): Issue ID to updatetracker_id: Change tracker type (1=Bug, 2=Feature, 3=Support)subject: New titledescription: New descriptionstatus_id: Status (1=New, 2=In Progress, 3=Resolved, 5=Closed)priority_id: Priority levelnotes: Add a comment
Example:
Update Redmine issue #123 status to 3 (Resolved) and add note "Implementation complete"
list_issues
List issues from a project.
Parameters:
project_id(required): Project IDstatus_id: Filter by status ("open", "closed", or specific ID)limit: Max results (default 25)
Example:
List all open issues in Redmine project 1
get_issue
Get detailed information about a specific issue.
Parameters:
issue_id(required): Issue ID
Example:
Get details of Redmine issue #123
list_projects
List all accessible Redmine projects.
Example:
List all my Redmine projects
Example Workflows
1. Convert Documentation to Tasks
You: "Read PRODUCT_ROADMAP.md and create Redmine issues for all Phase 1 tasks in project 1"
AI:
- Reads PRODUCT_ROADMAP.md
- Extracts Phase 1 tasks
- Creates issues with:
- Subject from task name
- Description from details
- Priority based on roadmap priority
- Estimated hours from effort estimates
2. Update Task Status
You: "Mark Redmine issue #45 as resolved since ServingsService is complete"
AI: Updates issue #45 with status_id=3 and adds completion note
3. Create Subtasks
You: "Create subtasks for Redmine issue #50 to implement Categories feature:
- Database migration
- Service layer
- Controller updates
- UI components"
AI: Creates 4 subtasks with parent_issue_id=50
4. Sprint Planning
You: "List all open issues in project 1 and create a sprint plan"
AI:
- Lists issues
- Analyzes priorities and estimates
- Suggests grouping and ordering
Common Redmine Status IDs
- 1 = New
- 2 = In Progress
- 3 = Resolved
- 4 = Feedback
- 5 = Closed
- 6 = Rejected
(Your Redmine instance may have different IDs - check your Redmine settings)
Common Redmine Priority IDs
- 1 = Low
- 2 = Normal
- 3 = High
- 4 = Urgent
- 5 = Immediate
Troubleshooting
"I only see Atom Access Key, not API Access Key"
See TROUBLESHOOTING_API_KEY.md for complete solutions.
Quick fix: Ask your admin to enable REST API:
- Administration → Settings → API → "Enable REST web service"
"REDMINE_URL and REDMINE_API_KEY environment variables are required"
Make sure environment variables are set in your MCP configuration.
"401 Unauthorized"
Check that your API key is correct and has not expired.
"403 Forbidden"
Your API key doesn't have permission for the requested operation.
"404 Not Found"
Project or issue ID doesn't exist or you don't have access.
Development
# Watch mode for development
npm run watch
# Build for production
npm run build
License
MIT
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。