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 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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_attachmentA | Updates metadata of an attachment (filename, description). Only available since Redmine 3.4. |
| delete_attachmentA | 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_filesB | 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
- 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/GonzaloRando03/redmine-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server