Redmine MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| REDMINE_URL | Yes | Redmine base URL (e.g. https://redmine.example.com) | |
| REDMINE_API_KEY | Yes | Redmine API Key |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_projectsA | Lists all projects in Redmine with pagination and optional filters. |
| get_projectA | Gets details of a project by its numeric ID or string identifier. |
| create_projectC | Creates a new project in Redmine. |
| update_projectC | Updates an existing project in Redmine. |
| delete_projectA | Deletes a project and all its related data (issues, wiki, etc.). |
| archive_projectA | Archives a project, making it read-only. |
| unarchive_projectA | Unarchives a previously archived project. |
| list_issuesB | Lists issues in Redmine with advanced filters, sorting and pagination. |
| get_issueA | Gets full details of a single issue by its numeric ID, optionally including related data. |
| create_issueC | Creates a new issue in Redmine. |
| update_issueC | Updates an existing issue. Can change fields, add notes/comments, or change status. |
| delete_issueC | Deletes an issue permanently. |
| add_watcherB | Adds a user as watcher/observer to an issue. |
| remove_watcherC | Removes a user from the watchers of an issue. |
| list_usersB | Lists users in Redmine with optional filters. Requires admin privileges. |
| get_userA | Gets details of a user by their numeric ID. Can include memberships and groups. |
| get_current_userA | Gets the details of the currently authenticated user (the API key owner). |
| create_userB | Creates a new user in Redmine. Requires admin privileges. |
| update_userC | Updates an existing user. Requires admin privileges. |
| delete_userA | Deletes a user permanently. Requires admin privileges. |
| get_my_accountA | Gets the account details of the currently authenticated user. |
| update_my_accountB | Updates the account details of the currently authenticated user. |
| list_time_entriesA | Lists time entries in Redmine with optional filters by user, project, issue, activity and date range. |
| get_time_entryA | Gets details of a single time entry by its numeric ID. |
| create_time_entryB | Creates a new time entry. Requires either issue_id or project_id, and hours. |
| update_time_entryC | Updates an existing time entry. |
| delete_time_entryA | Deletes a time entry permanently. |
| list_groupsB | Lists all groups in Redmine. |
| get_groupA | Gets details of a group by its numeric ID. Can include users and memberships. |
| create_groupB | Creates a new group in Redmine. |
| update_groupB | Updates an existing group. |
| delete_groupB | Deletes a group permanently. |
| add_user_to_groupB | Adds a user to a group. |
| remove_user_from_groupC | Removes a user from a group. |
| list_project_membershipsA | Lists all memberships (users/groups with roles) of a project. |
| get_membershipA | Gets details of a single project membership by its ID. |
| create_project_membershipB | Adds a user or group to a project with the specified roles. |
| update_membershipB | Updates the roles of an existing project membership. |
| delete_membershipB | Removes a membership (user/group) from a project. |
| list_project_versionsB | Lists all versions (milestones) of a project. |
| get_versionB | Gets details of a single version by its ID. |
| create_versionB | Creates a new version (milestone) in a project. |
| update_versionB | Updates an existing version. |
| delete_versionC | Deletes a version. |
| list_issue_categoriesB | Lists all issue categories of a project. |
| get_issue_categoryB | Gets details of a single issue category by its ID. |
| create_issue_categoryB | Creates a new issue category in a project. |
| update_issue_categoryB | Updates an existing issue category. |
| delete_issue_categoryA | Deletes an issue category. Optionally reassigns its issues to another category. |
| list_issue_relationsC | Lists all relations of an issue. |
| get_issue_relationA | Gets details of a single issue relation by its ID. |
| create_issue_relationC | Creates a relation between two issues. |
| delete_issue_relationB | Deletes an issue relation. |
| list_wiki_pagesB | Lists all wiki pages (index) of a project. Returns titles, versions and dates. |
| get_wiki_pageA | Gets the content of a wiki page by its title. Returns the page text in Textile/Markdown format. |
| get_wiki_page_versionC | Gets a specific version of a wiki page. Useful for viewing page history. |
| create_or_update_wiki_pageA | Creates or updates a wiki page. Uses PUT (idempotent by title). If the page exists it updates it, otherwise creates it. |
| delete_wiki_pageB | Deletes a wiki page from a project. |
| list_all_newsB | Lists news from all projects. Returns news with pagination. |
| list_project_newsB | Lists news of a specific project with pagination. |
| get_newsB | Gets details of a single news item by its ID. |
| create_newsC | Creates a news item in a project. |
| update_newsB | Updates an existing news item. |
| get_attachmentA | Gets metadata of an attachment by its ID (filename, filesize, content_type, content_url, author, etc.). |
| update_attachment | Updates metadata of an attachment (filename, description). Only available since Redmine 3.4. |
| delete_attachment | Deletes an attachment by its ID. |
| upload_fileA | Uploads a binary file to Redmine and returns an upload token. IMPORTANT: Redmine requires the request to use Content-Type: application/octet-stream for all file uploads — always set content_type to 'application/octet-stream', regardless of the actual file type. Using any other MIME type (e.g. 'image/png', 'application/pdf') will cause Redmine to reject the upload with HTTP 406. The returned token must be passed in the 'uploads' field when creating or updating issues, wiki pages, etc. |
| list_project_files | Lists all files attached to a project (available since Redmine 3.4). |
| create_project_fileA | Adds a previously uploaded file to a project. Requires a token obtained from upload_file. |
| searchB | Performs a global search across all Redmine resources (issues, news, documents, changesets, wiki pages, messages, projects). |
| search_in_projectB | Searches within a specific project's scope (issues, wiki pages, news, etc.). |
| list_issue_prioritiesA | Lists all issue priorities defined in Redmine. |
| list_time_entry_activitiesB | Lists all time entry activities defined in Redmine. |
| list_document_categoriesA | Lists all document categories defined in Redmine. |
| list_trackersA | Lists all trackers available in Redmine. |
| list_issue_statusesA | Lists all issue statuses defined in Redmine. |
| list_custom_fieldsA | Lists all custom fields defined in Redmine. Requires administrator privileges. |
| list_queriesA | Lists all saved (public and private) queries in Redmine. |
| list_rolesB | Lists all roles defined in Redmine. |
| get_roleA | Gets details of a role by its ID, including its list of permissions. |
| update_journalA | Updates the notes of an issue journal entry (comment). Requires the user to be the author or an admin. |
| list_agile_sprintsB | Lists all sprints of a project. Requires the RedmineUP Agile plugin. |
| get_agile_sprintA | Gets details of a specific sprint. Requires the RedmineUP Agile plugin. |
| create_agile_sprintB | Creates a new sprint in a project. Requires the RedmineUP Agile plugin. |
| update_agile_sprintA | Updates an existing sprint. Requires the RedmineUP Agile plugin. |
| delete_agile_sprintC | Deletes a sprint from a project. Requires the RedmineUP Agile plugin. |
| get_issue_agile_dataB | Gets the agile fields (sprint, story points, position) of an issue. Requires the RedmineUP Agile plugin. |
| assign_issue_to_sprintA | Assigns an issue to a sprint (or removes it by passing null). Requires the RedmineUP Agile plugin. |
| list_issues_by_sprintA | Lists all issues assigned to a specific sprint. Uses the RedmineUP Agile plugin filter. More efficient than list_issues when you need to filter by sprint. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
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/GonzaloRando03/redmine-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server