mcp server redmine
A Model Context Protocol server for interacting with Redmine using its REST API, enabling the management of tickets, projects, and user data through integration with LLMs.
A Model Context Protocol server for interacting with Redmine using its REST API, enabling the management of tickets, projects, and user data through integration with LLMs.
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:
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 directoryenv: Environment variablesREDMINE_HOST: Redmine server URLREDMINE_API_KEY: Your Redmine API keySet 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 requiredAvailable information varies based on user permission levels. For details, see Redmine API Documentation.
@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