Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Read Google reviews and stats, draft AI replies, publish the ones you approve, request reviews.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
REPUTEMAP_API_KEY, Authorization「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
このアドレスはリクエストの header にキーが必要ですが、コネクタを追加するメニューでは設定できません。代わりにClaude Code、Cursor、VS Codeを使ってください。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"reputemap": {
"command": "npx",
"args": [
"-y",
"@reputemap/mcp"
],
"env": {
"REPUTEMAP_API_KEY": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add --transport http reputemap https://api.reputemap.com/mcp --header 'Authorization: your-value'claude mcp add reputemap --env REPUTEMAP_API_KEY=your-value -- npx -y @reputemap/mcp動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"reputemap": {
"url": "https://api.reputemap.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"reputemap": {
"command": "npx",
"args": [
"-y",
"@reputemap/mcp"
],
"env": {
"REPUTEMAP_API_KEY": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"reputemap": {
"type": "http",
"url": "https://api.reputemap.com/mcp",
"headers": {
"Authorization": "your-value"
}
}
}
}プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"reputemap": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@reputemap/mcp"
],
"env": {
"REPUTEMAP_API_KEY": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
このアドレスはリクエストの header にキーが必要ですが、コネクタを追加するメニューでは設定できません。代わりにClaude Code、Cursor、VS Codeを使ってください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
Authorization 秘密 必須 HTTP headerこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
このサーバーのツール一覧はまだ読み取っていません。エンドポイントは順番にチェックしています。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名はドメイン reputemap.com で確認済みです(レジストリがドメインの所有を確認しています)
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
まだチェックしていません。エンドポイントは順番にチェックしています
まだチェックしていません。エンドポイントは順番にチェックしています
まだチェックしていません。エンドポイントをチェックするときにツール一覧を読み取ります
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:REPUTEMAP_API_KEY, Authorization
どちらでも使えます。パソコンにインストールしても、クラウド版につないでもかまいません。
GitHubリポジトリの最終更新は–、最新バージョン(1.1.1)がレジストリに届いたのは25 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, topo^alpin
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ 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.
Avalanche bulletins and mountain weather forecasts for any place in the Alps.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
The Model Context Protocol server of ReputeMap. It gives Claude, Cursor, Cline, VS Code, Codex, Gemini CLI and any other MCP client your Google Business Profile reviews: a filterable review inbox with owner replies inlined, per-location stats, AI reply drafts, publishing a reply you approved, and honest review-request emails.
*"Show me every unanswered review under 3 stars from the last week, worst first."*
*"Draft replies to the three newest negative reviews in a calm tone."*
*"Publish the second draft for the Riverside review, exactly as written."*
*"We just finished the Hendersons' job. Send them a review request."*
You probably don't need to run anything. The server is hosted:
https://api.reputemap.com/mcp Streamable HTTP · JSON-RPC 2.0
Authorization: Bearer rmk_YOUR_KEY app.reputemap.com → Settings → API keys
Registry: com.reputemap/reputemap · included in every paid plan, from Solo ($19/month), and in the 14-day trial.
Seven tools: four read, three act.
| Tool | What it does | Type | Credits |
|---|---|---|---|
list_locations | Every location the org manages, with the ids the other tools take | read-only | 1 |
list_reviews | Google reviews, newest first, with the published owner reply inlined. Filter by location, star range, unanswered only, or the last N days; up to 50 per page with offset paging. Each review carries Google's moderation state of the reply (reply_state, reply_policy_violation) | read-only | 1 |
get_review_stats | Per location and org-wide: review count, average rating, 1–5★ breakdown, unanswered count, and activity in a trailing window (default 30 days) | read-only | 1 |
draft_reply | 2–3 reply drafts for one review from ReputeMap's own generator, in the business's saved voice and sign-off. Optional one-off instructions (e.g. "keep it under 40 words"). Saves the draft to the app's editor and never publishes | saves a draft | 1 |
publish_reply | Publishes the exact reply text the user approved to the review on Google | posts to Google | 1 |
send_review_request | Sends one real review-request email to a customer through ReputeMap's campaign engine | sends email | 1 |
get_usage | This month's credit usage, limit and rate limit | read-only | free |
Tools carry MCP annotations: the four read tools have readOnlyHint; the other three don't, and publish_reply is also marked destructiveHint. Those are the signals that make a client ask you before it runs a tool.
draft_reply stores drafts in ReputeMap. Nothing reaches Google until publish_reply is called or someone clicks Publish in the app.publish_reply takes the exact text you approved and nothing else. It replaces any existing owner reply on that review, which is why it is flagged destructive, and every publish is audit-logged. If Google refuses the request, the text stays in ReputeMap with a manual fallback (status: "manual_required"), so your words are never lost.publish_reply answers with google_state: pending means Google is checking the reply before showing it. status: "rejected_by_google" means Google won't show it; policy_violation and detail say why, so write a different reply. list_reviews carries the same state on every review, and a rejected reply counts as no reply for unanswered_only.send_review_request runs through the same opt-out and suppression checks as in-app campaigns. If this location already asked this address, you get status: "already_requested": no second email goes out and the credit is given back. It is still a real email to a real person, so it is annotated non-idempotent and clients confirm first.rmk_ and is shown once.Then pick your client below. Each client has two ways in:
https://api.reputemap.com/mcp directly and sends the key as an Authorization: Bearer header.npx -y @reputemap/mcp (Node 18+) with REPUTEMAP_API_KEY set, and the bridge forwards everything to the hosted endpoint.Remote, one command, no restart:
claude mcp add --transport http reputemap https://api.reputemap.com/mcp \
--header "Authorization: Bearer rmk_YOUR_KEY"
Writing .mcp.json by hand? Include "type": "http" in the entry. Without it, Claude Code reads the entry as a local program and fails.
Stdio bridge instead:
claude mcp add reputemap -e REPUTEMAP_API_KEY=rmk_YOUR_KEY -- npx -y @reputemap/mcp
Use the stdio bridge in claude_desktop_config.json (Settings → Developer → Edit Config), then fully quit and reopen the app. Needs Node.js 18+.
{
"mcpServers": { "reputemap": { "command": "npx", "args": ["-y", "@reputemap/mcp"], "env": { "REPUTEMAP_API_KEY": "rmk_YOUR_KEY" } } } }
The generic mcp-remote bridge works too: "args": ["-y", "mcp-remote", "https://api.reputemap.com/mcp", "--header", "Authorization: Bearer rmk_YOUR_KEY"].
Remote, in ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):
{
"mcpServers": { "reputemap": { "url": "https://api.reputemap.com/mcp", "headers": { "Authorization": "Bearer rmk_YOUR_KEY" } } } }
Stdio bridge instead:
{
"mcpServers": { "reputemap": { "command": "npx", "args": ["-y", "@reputemap/mcp"], "env": { "REPUTEMAP_API_KEY": "rmk_YOUR_KEY" } } } }
Open Cline → MCP Servers → Configure MCP Servers, which opens cline_mcp_settings.json, and add the server. Remote:
{
"mcpServers": { "reputemap": { "type": "streamableHttp", "url": "https://api.reputemap.com/mcp", "headers": { "Authorization": "Bearer rmk_YOUR_KEY" }, "disabled": false } } }
Stdio bridge instead:
{
"mcpServers": { "reputemap": { "command": "npx", "args": ["-y", "@reputemap/mcp"], "env": { "REPUTEMAP_API_KEY": "rmk_YOUR_KEY" }, "disabled": false } } }
.vscode/mcp.json in the workspace. The top-level key is servers, not mcpServers. VS Code asks for the key once and stores it, so it stays out of the file:
{
"inputs": [ { "type": "promptString", "id": "reputemap-key", "description": "ReputeMap API key (rmk_...)", "password": true } ], "servers": { "reputemap": { "type": "http", "url": "https://api.reputemap.com/mcp", "headers": { "Authorization": "Bearer ${input:reputemap-key}" } } } }
Stdio bridge instead: replace the reputemap entry with { "type": "stdio", "command": "npx", "args": ["-y", "@reputemap/mcp"], "env": { "REPUTEMAP_API_KEY": "${input:reputemap-key}" } }.
~/.codeium/windsurf/mcp_config.json. Note the field is serverUrl:
{
"mcpServers": { "reputemap": { "serverUrl": "https://api.reputemap.com/mcp", "headers": { "Authorization": "Bearer rmk_YOUR_KEY" } } } }
~/.codex/config.toml, then export REPUTEMAP_API_KEY in your shell:
[mcp_servers.reputemap]
url = "https://api.reputemap.com/mcp" bearer_token_env_var = "REPUTEMAP_API_KEY"
gemini mcp add --transport http reputemap https://api.reputemap.com/mcp \
--header "Authorization: Bearer rmk_YOUR_KEY"
Or in ~/.gemini/settings.json, where the field is httpUrl:
{
"mcpServers": { "reputemap": { "httpUrl": "https://api.reputemap.com/mcp", "headers": { "Authorization": "Bearer rmk_YOUR_KEY" } } } }
URL: https://api.reputemap.com/mcp
Transport: Streamable HTTP (JSON-RPC 2.0 over POST) Header: Authorization: Bearer rmk_YOUR_KEY (X-API-Key: rmk_YOUR_KEY also works)
ChatGPT isn't supported yet: its connectors accept only OAuth, and this server uses an API key.
Check the connection: ask *"list my ReputeMap locations"*. If the ids come back, you're connected.
get_usage, which is free. A call with malformed arguments is rejected before a credit is charged, and a send_review_request that comes back already_requested is refunded.get_usage tells you where you stand.| Symptom | Cause and fix |
|---|---|
401 invalid or missing API key | Typo, or the key was revoked. Create a new one in Settings → API keys |
403 … requires an active paid plan | The workspace has no subscription. Pick a plan; the 14-day trial counts |
| "Monthly API credit limit reached" | Credits reset on the 1st; check get_usage |
| Claude Desktop shows no tools | npx needs Node.js 18+; fully quit and reopen the app after editing the config |
A zero-dependency stdio bridge for clients that speak MCP over stdio and can't send HTTP headers, in two flavours: bin/cli.mjs (Node 18+, published as @reputemap/mcp) and server.py (Python 3.9+, standard library only). Both forward every JSON-RPC message to the hosted endpoint over TLS and stream the responses back. The bridge holds no tool list of its own, so new tools reach you as soon as the hosted server ships them.
# Node: one-liner, no install
REPUTEMAP_API_KEY="rmk_..." npx -y @reputemap/mcp
REPUTEMAP_API_KEY="rmk_..." python3 server.py
server.json is the manifest published to the official MCP registry as com.reputemap/reputemap. .plugin/plugin.json and .mcp.json describe the same server for plugin-aware clients.
The bridge is about 120 readable lines, so it also documents what travels over the wire: your API key goes only into the Authorization header of TLS requests to api.reputemap.com.
initialize → notifications/initialized → tools/list / tools/call, plus ping. Supported revisions: 2024-11-05, 2025-03-26, 2025-06-18, 2025-11-25.initialize, ping, tools/list) answers without a key, so clients and directories can show the tool catalogue before you authenticate. tools/call always needs the key.isError: true, so your agent can read them and tell you.冒頭だけを表示しています。続きはリポジトリで読めます