Redmine
How to configure the Redmine MCP connector with OAuth2 authentication
The Redmine integration allows the chatbot to interact with Redmine for project management tasks using OAuth2 authentication.
Requirements
- Redmine 6.1+ (required for OAuth2 support)
- Redmine instance with REST API enabled
Redmine Configuration
1. Enable REST API
In Redmine, go to Administration → Settings → API and enable:
- REST web service
- JSONP support (optional)
2. Register OAuth Application
- Go to Administration → Applications
- Click New Application
- Fill in the details:
- Name: Mitigate AI Platform
- Redirect URI:
https://ai-platform.mitigate.dev/connector_connections/callback - Scopes: Leave blank (uses default)
- Save and note the Client ID and Client Secret
MCP Server Setup
The Redmine MCP server needs to be hosted separately and pointed at your Redmine instance. You can host it yourself using the redmine-mcp-server repository, or we can host it for you — contact us at ai@mitigate.dev.
Create Connector
In the chatbot admin panel (Admin → Connectors), create a new connector:
| Field | Value |
|---|---|
| Integration Type | MCP |
| Name | Redmine |
| URL | (URL of your hosted Redmine MCP server)/mcp |
| Transport Type | Streamable HTTP |
| Authentication Type | OAuth 2.1 |
| OAuth Client ID | (from Redmine) |
| OAuth Client Secret | (from Redmine) |
| OAuth Scopes | (leave blank) |
Assign to Workspace
In Admin → Workspaces, edit your workspace and add the Redmine connector.
Usage Examples
Once connected, users can interact with Redmine through natural language:
- "List my Redmine projects"
- "Show me open issues in project X"
- "Create a new issue titled 'Bug in login form' in project X"
- "Log 2 hours on issue #123 with comment 'Fixed the bug'"
- "Update issue #456 status to resolved"
Troubleshooting
"Failed to connect" Error
- Ensure Redmine REST API is enabled
- Check OAuth credentials in the connector configuration
- Verify the redirect URI matches exactly
"Unauthorized" Error
- The OAuth token may have expired - disconnect and reconnect
- Verify the user has permission in Redmine for the requested action
Tools
List Redmine Projects
list_redmine_projects
Lists all accessible projects in the Redmine instance.
List Project Members
list_project_members
Lists all members (users and groups) of a Redmine project along with their assigned roles.
Parameters:
- project_id - Project ID (numeric) or identifier (string)
List Project Issue Custom Fields
list_project_issue_custom_fields
Lists issue custom fields configured for a project, including allowed values and tracker bindings.
Parameters:
- project_id - Project ID (numeric) or identifier (string)
- tracker_id - Restrict output to fields applicable to the given tracker ID
List Redmine Versions
list_redmine_versions
Lists versions (roadmap milestones) for a Redmine project. Useful for discovering target version IDs to use when filtering issues by milestone.
Parameters:
- project_id - Project ID (numeric) or identifier (string)
- status_filter - Filter by version status. Allowed values:
open,locked,closed. Defaults to all versions
Summarize Project Status
summarize_project_status
Provides a comprehensive summary of project status based on issue activity over a specified time period, including recent activity metrics, status breakdowns, and trends.
Parameters:
- project_id - The ID of the project to summarize
- days - Number of days to analyze. Defaults to 30
List Redmine Issues
list_redmine_issues
Lists Redmine issues with flexible filtering and pagination support. Supports filtering by project, status, assignee, tracker, priority, target version, and any other Redmine issue filter.
Parameters:
- filters - Object containing filter and pagination options. Supported keys:
project_id,status_id,tracker_id,assigned_to_id(use"me"for current user),priority_id,fixed_version_id,sort(e.g."updated_on:desc"),limit(max 1000, default 25),offset,fields(array of field names to include)
Search Redmine Issues
search_redmine_issues
Searches issues using text queries with support for pagination and scope filtering. For advanced filtering by specific field values, use list_redmine_issues instead.
Parameters:
- query - Text to search for in issues
- options - Object with optional search settings:
limit(default 25, max 1000),offset,scope("all","my_project", or"subprojects"),open_issues(boolean to restrict to open issues only),fields(array of field names to include)
Get Redmine Issue
get_redmine_issue
Retrieves detailed information about a specific Redmine issue, including journals, attachments, and custom fields.
Parameters:
- issue_id - The ID of the issue to retrieve
- include_journals - Include comments/journal entries. Defaults to true
- include_attachments - Include attachment metadata. Defaults to true
- include_custom_fields - Include custom fields. Defaults to true
- journal_limit - Maximum number of journals to return (enables pagination when set)
- journal_offset - Number of journals to skip for pagination. Defaults to 0
- include_watchers - Include the watcher list. Defaults to false
- include_relations - Include issue relations. Defaults to false
- include_children - Include child issues. Defaults to false
Create Redmine Issue
create_redmine_issue
Creates a new issue in the specified Redmine project.
Parameters:
- project_id - Target project ID
- subject - Issue subject/title
- description - Issue description
- fields - Additional Redmine fields as an object (e.g.
{"priority_id": 3, "tracker_id": 1}) - extra_fields - Additional fields merged with
fields, also accepts an object
Update Redmine Issue
update_redmine_issue
Updates an existing Redmine issue. Supports updating by status_name (resolved automatically to a status ID) and custom fields by name.
Parameters:
- issue_id - ID of the issue to update
- fields - Object of fields to update (e.g.
{"status_name": "Resolved", "notes": "Fixed"})
List Time Entries
list_time_entries
Lists time entries from Redmine with optional filtering by project, issue, user, and date range.
Parameters:
- project_id - Filter by project (numeric ID or string identifier)
- issue_id - Filter by issue ID
- user_id - Filter by user ID. Use
"me"for the current user - from_date - Start date filter in YYYY-MM-DD format
- to_date - End date filter in YYYY-MM-DD format
- limit - Maximum entries to return. Defaults to 25, max 100
- offset - Number of entries to skip for pagination. Defaults to 0
Create Time Entry
create_time_entry
Logs time against a Redmine project or issue. Either project_id or issue_id must be provided.
Parameters:
- hours - Number of hours spent (e.g.
1.5) - project_id - Project to log time against
- issue_id - Issue to log time against
- activity_id - Time entry activity ID (e.g. Development, Design). Uses default if not provided
- comments - Description of work performed
- spent_on - Date when time was spent in YYYY-MM-DD format. Defaults to today
Update Time Entry
update_time_entry
Updates an existing time entry in Redmine. Only provided fields are updated.
Parameters:
- time_entry_id - ID of the time entry to update
- hours - New hours value
- activity_id - New activity ID
- comments - New comments/description
- spent_on - New date in YYYY-MM-DD format
List Time Entry Activities
list_time_entry_activities
Lists all available time entry activity types (e.g. Development, Design, Testing). Use this to discover valid activity_id values before creating or updating time entries.
Search Entire Redmine
search_entire_redmine
Searches across issues and wiki pages in the Redmine instance. Requires Redmine 3.3.0 or higher.
Parameters:
- query - Text to search for
- resources - Filter by resource types:
["issues"],["wiki_pages"], or both. Defaults to both - limit - Maximum results to return (max 100). Defaults to 100
- offset - Pagination offset. Defaults to 0
Get Redmine Wiki Page
get_redmine_wiki_page
Retrieves the full content of a wiki page from a Redmine project.
Parameters:
- project_id - Project identifier (numeric ID or string identifier)
- wiki_page_title - Wiki page title (e.g.
"Installation_Guide") - version - Specific version number to retrieve. Defaults to the latest version
- include_attachments - Include attachment metadata. Defaults to true
Create Redmine Wiki Page
create_redmine_wiki_page
Creates a new wiki page in a Redmine project.
Parameters:
- project_id - Project identifier (numeric ID or string identifier)
- wiki_page_title - Wiki page title (e.g.
"Getting_Started") - text - Wiki page content in Textile or Markdown (depending on Redmine configuration)
- comments - Comment for the change log
Update Redmine Wiki Page
update_redmine_wiki_page
Updates an existing wiki page in a Redmine project. Version history is maintained automatically.
Parameters:
- project_id - Project identifier (numeric ID or string identifier)
- wiki_page_title - Wiki page title to update
- text - New wiki page content
- comments - Comment for the change log
Delete Redmine Wiki Page
delete_redmine_wiki_page
Deletes a wiki page from a Redmine project.
Parameters:
- project_id - Project identifier (numeric ID or string identifier)
- wiki_page_title - Wiki page title to delete
Get Redmine Attachment Download URL
get_redmine_attachment_download_url
Retrieves a time-limited HTTP download URL for a Redmine attachment. The URL expires based on server configuration (default: 60 minutes).
Parameters:
- attachment_id - The ID of the attachment to download