This is a Model Context Protocol (MCP) server implementation for Redmine. It integrates with Redmine's REST API to provide ticket and project information to LLMs.
Supports stable resources from Redmine REST API:
- Issues (1.0~)
- Projects (1.0~)
- Users (1.1~)
- Time Entries (1.1~)
- Search Issues
- Filter by project, status, assignee, etc.
- Keyword search
- Custom field support
- Create/Update Issues
- Set tracker, status, priority
- Configure custom fields
- Add comments
- Delete Issues
- Search Projects
- Filter by active/archived/closed status
- Keyword search
- Get Project Details
- Include trackers, categories information
- Create/Update Projects
- Configure modules and trackers
- Set member inheritance
- Archive/Unarchive Projects
- Delete Projects
- Search Time Entries
- Filter by project, user, date range
- Get Time Entry Details
- Create/Update Time Entries
- Record against project or issue
- Specify activity
- Custom field support
- Delete Time Entries
To use this server with Claude, configure it as follows:
{
"mcp-server-redmine": {
"command": "npx",
"args": [
"-y",
"--prefix",
"/path/to/mcp-server-redmine",
"mcp-server-redmine"
],
"env": {
"REDMINE_HOST": "https://your-redmine.example.com",
"REDMINE_API_KEY": "your-api-key-here"
}
}
}
command
: Command to execute the npm packageargs
:-y
: Auto-respond "yes" to prompts--prefix
: Specify installation directory- Last argument specifies the package name
env
: Environment variablesREDMINE_HOST
: Redmine server URLREDMINE_API_KEY
: Your Redmine API key
- Enable REST API in Redmine admin settings
- Get API key from user settings page
Set the following environment variables:
REDMINE_API_KEY
: API key obtained from Redmine user settingsREDMINE_HOST
: Redmine server URL (e.g.,https://redmine.example.com
)
# Run tests
npm test
For data safety, only GET operations are included in tests.
Use MCP Inspector to verify functionality:
# Build
npm run build
# Set execute permission (important)
chmod +x dist/index.js
# Launch inspector
npx @modelcontextprotocol/inspector dist/index.js
Some features require administrator privileges:
list_users
: Admin requiredcreate_user
: Admin requiredupdate_user
: Admin requireddelete_user
: Admin required
Available information varies based on user permission levels. For details, see Redmine API Documentation.
- Node.js 18 or higher
- npm 9 or higher
@modelcontextprotocol/sdk
: MCP SDKzod
: Schema validationtypescript
: Type system
.
├── src/
│ ├── tools/ # Tool definitions
│ │ ├── issues.ts
│ │ ├── projects.ts
│ │ ├── time_entries.ts
│ │ └── index.ts
│ ├── formatters/ # Formatters
│ │ ├── issues.ts
│ │ ├── projects.ts
│ │ ├── time_entries.ts
│ │ └── index.ts
│ ├── lib/ # Common libraries
│ │ ├── client.ts # Redmine API client
│ │ ├── config.ts # Configuration management
│ │ └── types.ts # Type definitions
│ ├── handlers.ts # Request handlers
│ └── index.ts # Entry point
├── docs/
│ └── adr/ # Architecture Decision Records
├── package.json # Project configuration
├── tsconfig.json # TypeScript configuration
└── README.md # Documentation
# Install dependencies
npm install
# Build
npm run build
# Start development server
npm run dev
Major design decisions are documented in docs/adr
. Refer to these documents when adding or modifying features.
MIT