Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Local MCP (stdio) server for Redmine: issues, projects and time tracking from any MCP client.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
REDMINE_URL, REDMINE_API_KEY「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"redmine-stdio": {
"command": "npx",
"args": [
"-y",
"redmine-mcp-stdio"
],
"env": {
"REDMINE_URL": "your-value",
"REDMINE_API_KEY": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add redmine-stdio --env REDMINE_URL=your-value --env REDMINE_API_KEY=your-value -- npx -y redmine-mcp-stdio動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"redmine-stdio": {
"command": "npx",
"args": [
"-y",
"redmine-mcp-stdio"
],
"env": {
"REDMINE_URL": "your-value",
"REDMINE_API_KEY": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"redmine-stdio": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"redmine-mcp-stdio"
],
"env": {
"REDMINE_URL": "your-value",
"REDMINE_API_KEY": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント andrelaptenok で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:REDMINE_URL, REDMINE_API_KEY
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(1.2.0)がレジストリに届いたのは4 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, Tool Guardian
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Too many MCP servers eating your context? A router that loads each tool's schema only when needed.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
A local Model Context Protocol server (stdio) for Redmine. Point an MCP client at it (Cursor, VS Code, Claude, Codex, Windsurf, Cline, Zed, JetBrains AI and others) and work with Redmine issues, projects and time entries straight from the editor.
| Tool | What it does | Key parameters |
|---|---|---|
list_issues | List/filter issues, paginated | project_id, status_id, assigned_to_id, query, limit, offset, all |
get_issue | Full details of one issue + comments/history + attachments | id, include_journals (default true) |
list_projects | Accessible projects | limit |
get_project | Project details, versions and members | id |
create_issue | Create an issue | project_id, subject, description, tracker_id, priority_id, assigned_to_id, status_id |
update_issue | Update issue fields | id + any of subject, status_id, priority_id, assigned_to_id, done_ratio, notes |
add_comment | Add a note to an issue | id, notes |
log_time | Log a time entry on an issue/project | issue_id or project_id, hours, activity_id, comments, spent_on |
list_time_entries | List time entries, filtered | issue_id, project_id, user_id, from, to, limit, offset |
list_enumerations | IDs of trackers/statuses/priorities/activities | none |
search | Full-text search (issues, wiki, news, …) | q, project_id, types, titles_only, open_issues, limit, offset |
get_current_user | Account behind the API key (id, login, name) | none |
Every tool ships MCP tool annotations (readOnlyHint, destructiveHint, …), so clients can auto-approve read-only calls.
No manual install needed. The client launches the server on demand with npx, which downloads it on first run and caches it after. Just add the config for your client under Connect.
Prefer to run from a local clone? See Development.
My account > API access key > Show.
⚠️ Never commit your API key. Copy
.env.exampleto.envfor local use;.envis gitignored.
The server reads REDMINE_URL and REDMINE_API_KEY from the environment. Provide them via the client's MCP config env block.
Edit ~/.cursor/mcp.json (global) or .cursor/mcp.json in a project root:
{
"mcpServers": { "redmine": { "command": "npx", "args": ["-y", "redmine-mcp-stdio"], "env": { "REDMINE_URL": "https://redmine.your-company.com", "REDMINE_API_KEY": "your_key" } } } }
Reload Cursor and enable the server in Settings > MCP.
Edit .vscode/mcp.json in your workspace (or your user mcp.json). Note the top-level key is servers, not mcpServers:
{
"servers": { "redmine": { "type": "stdio", "command": "npx", "args": ["-y", "redmine-mcp-stdio"], "env": { "REDMINE_URL": "https://redmine.your-company.com", "REDMINE_API_KEY": "your_key" } } } }
claude mcp add redmine \
--env REDMINE_URL=https://redmine.your-company.com \ --env REDMINE_API_KEY=your_key \ -- npx -y redmine-mcp-stdio
Or edit ~/.claude.json / the project .mcp.json directly (same shape as Claude Desktop below).
Edit claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": { "redmine": { "command": "npx", "args": ["-y", "redmine-mcp-stdio"], "env": { "REDMINE_URL": "https://redmine.your-company.com", "REDMINE_API_KEY": "your_key" } } } }
Restart Claude Desktop afterwards.
Add a server table to ~/.codex/config.toml:
[mcp_servers.redmine]
command = "npx" args = ["-y", "redmine-mcp-stdio"] env = { REDMINE_URL = "https://redmine.your-company.com", REDMINE_API_KEY = "your_key" }
If node is installed via nvm, use the full path from which npx as command.
Edit ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": { "redmine": { "command": "npx", "args": ["-y", "redmine-mcp-stdio"], "env": { "REDMINE_URL": "https://redmine.your-company.com", "REDMINE_API_KEY": "your_key" } } } }
In Cascade, open MCP servers > Manage > View raw config, paste, then refresh. Supports ${env:VAR} interpolation if you'd rather not inline the key.
In the Cline pane, click the MCP Servers icon and choose Configure MCP Servers to open cline_mcp_settings.json:
{
"mcpServers": { "redmine": { "command": "npx", "args": ["-y", "redmine-mcp-stdio"], "env": { "REDMINE_URL": "https://redmine.your-company.com", "REDMINE_API_KEY": "your_key" } } } }
Zed calls MCP servers context servers. Open the command palette and run zed: open settings, then add to settings.json (note "source": "custom"):
{
"context_servers": { "redmine": { "source": "custom", "command": "npx", "args": ["-y", "redmine-mcp-stdio"], "env": { "REDMINE_URL": "https://redmine.your-company.com", "REDMINE_API_KEY": "your_key" } } } }
Zed restarts the server on save, so no editor reload is needed.
Settings > Tools > AI Assistant > Model Context Protocol (MCP) > Add:
npx (if node is installed via nvm, use the full path from which npx)-y redmine-mcp-stdioREDMINE_URL=https://redmine.your-company.comREDMINE_API_KEY=your_keyEnable _"Automatically enable new and changed MCP servers"_, then Apply. Click the status icon and you should see 12 tools. Invoke them in chat with /.
REDMINE_URL=https://redmine.your-company.com REDMINE_API_KEY=your_key npx -y redmine-mcp-stdio
The process should start and wait silently on stdio (Ctrl+C to exit).
command must resolve in the client's environment. If node is installed via nvm, a bare npx may not be found. Use the full path from which npx as the command.env block wasn't passed. Double-check it's in the MCP config, not your shell.REDMINE_URL points at the wrong host.| Variable | Required | Default | Description |
|---|---|---|---|
REDMINE_URL | yes | n/a | Base URL of your Redmine instance (http/https) |
REDMINE_API_KEY | yes | n/a | Personal API access key |
REDMINE_TIMEOUT_MS | no | 10000 | Per-request timeout in milliseconds |
REDMINE_MAX_RETRIES | no | 2 | Retries on 429/5xx with exponential backoff |
The code is organized in layers, with a single HTTP client injected into each tool group so that tools never touch transport or process.env directly:
src/
index.ts entry point: load config, build client, register tools, serve stdio config.ts env parsing + validation (Zod) into a typed RedmineConfig version.ts single source of the version string redmine/ client.ts RedmineClient: auth, timeout, retry, host pinning, secret redaction errors.ts RedmineError / ConfigError + HTTP error normalization paths.ts safe path-segment encoding + project-id validation types.ts Redmine API response types tools/ register.ts wires every tool group onto the server issues.ts list/get/create/update issues + add_comment projects.ts list/get projects (versions, members) time-entries.ts log_time, list_time_entries enumerations.ts trackers / statuses / priorities / activities search.ts full-text search across issues, wiki, news, ... users.ts get_current_user helpers.ts guard(), ok()/fail(), ToolResult format.ts pure presentation helpers
npm run build # compile src/ to build/
npm run typecheck # tsc --noEmit (strict) npm run lint # eslint npm run format # prettier --write npm test # build, then run the vitest suite npm run check # typecheck + lint + format:check + test (what CI runs)
See CHANGELOG.md for releases.
The API key is never logged and is redacted from error output; requests are pinned to the configured host, path parameters are encoded, and every call is bounded by a timeout and a response-size cap. Details and reporting: SECURITY.md.
MIT. See LICENSE.