{"_id":"9router-mcp","_rev":"9-b5301bdbb8f25ff448792d26a67d15ad","name":"9router-mcp","dist-tags":{"latest":"1.0.4"},"versions":{"1.0.3":{"name":"9router-mcp","version":"1.0.3","_id":"9router-mcp@1.0.3","maintainers":[{"name":"dipandhali2021","email":"dipandhali2021@gmail.com"}],"bin":{"9router-mcp":"index.js"},"dist":{"shasum":"293c6114c1441c45f8d03eff73740f0581245fa4","tarball":"https://registry.npmjs.org/9router-mcp/-/9router-mcp-1.0.3.tgz","fileCount":12,"integrity":"sha512-/uzyuDP2A9JnnL5vVm+3cUC/UdAiZcau8I4yM9jvCBibsGiCn/YdIcDWz4b4MhFsbrzQBBLdo+Rd6SnOpFW4Mw==","signatures":[{"sig":"MEUCIEOSP1PLiOka0PD1Z5QnYpEv5v1mTGVeoNmVtH7OQyRMAiEA2vdnEsIZFJQaOo+63iYifHVrnN6KSNUpQ2/wprxDAxk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":24663},"main":"index.js","type":"commonjs","gitHead":"fbfeabef9581e6a8a12b54198168fbc1482d15c3","scripts":{"start":"node index.js"},"_npmUser":{"name":"dipandhali2021","email":"dipandhali2021@gmail.com"},"_npmVersion":"10.9.7","description":"Production-ready, modular MCP server for 9router tools.","directories":{},"_nodeVersion":"22.22.2","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/9router-mcp_1.0.3_1779527184861_0.3510436980926328","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"9router-mcp","version":"1.0.4","description":"Production-ready, modular MCP server for 9router tools.","main":"index.js","bin":{"9router-mcp":"index.js"},"type":"commonjs","scripts":{"start":"node index.js"},"dependencies":{},"publishConfig":{"access":"public"},"_id":"9router-mcp@1.0.4","gitHead":"0fd2772fefffa073d9a535af1d136f7674663ad8","_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-VCKT9Ic19e4d0eFzvHjyKLrRhrkTviJm2uGv6xv25UMSlfqycRQqDYs2lq3bHt+Bxl4lmM8cDcalsf9ZOVMMWg==","shasum":"64af99871903ad4023b60d929c16d98df20569f3","tarball":"https://registry.npmjs.org/9router-mcp/-/9router-mcp-1.0.4.tgz","fileCount":12,"unpackedSize":24644,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDMMFATvARreLWAmEc5Jiw308z63/LY43Es5E5IBZo0DwIhAM5oROCCEsPkwoGWW21E6fgdGzsECl51zLjuP0sUK/VU"}]},"_npmUser":{"name":"dipandhali2021","email":"dipandhali2021@gmail.com"},"directories":{},"maintainers":[{"name":"dipandhali2021","email":"dipandhali2021@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/9router-mcp_1.0.4_1779535790986_0.20088046572936635"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-19T08:44:11.618Z","modified":"2026-05-23T11:29:51.261Z","1.0.0":"2026-05-19T08:44:11.865Z","1.0.1":"2026-05-19T08:47:58.888Z","1.0.2":"2026-05-19T09:21:15.590Z","1.0.3":"2026-05-23T09:06:25.004Z","1.0.4":"2026-05-23T11:29:51.174Z"},"description":"Production-ready, modular MCP server for 9router tools.","maintainers":[{"name":"dipandhali2021","email":"dipandhali2021@gmail.com"}],"readme":"# 9router Production MCP Server\n\nA high-performance, modular, and production-ready implementation of the Model Context Protocol (MCP) server for 9router. Built natively with Node.js v22 over standard I/O (stdio) with zero dependencies.\n\nFully compatible with **Claude Code**, **Codex**, **Roo Code**, and **Claude Desktop**.\n\n---\n\n## 🚀 Instant Usage with `npx`\n\nNo installation required! Anyone can run your MCP server instantly via `npx`.\n\n### 1. VS Code / Roo Code / Cline Configuration\nAdd the following to your global MCP settings (e.g., `~/.vscode/global-mcp-settings.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"9router\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"9router-mcp@latest\"\n      ],\n      \"env\": {\n        \"ROUTER_API_KEY\": \"your_9router_api_key_here\",\n        \"ROUTER_BASE_URL\": \"your_9router_base_url_here\" \n      }\n    }\n  }\n}\n```\n*(Note: `ROUTER_BASE_URL` is required.)*\n\n### 2. Claude Desktop Configuration\nAdd the following to your `claude_desktop_config.json`:\n\n```json\n{\n  \"mcpServers\": {\n    \"9router-mcp\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"9router-mcp\"\n      ],\n      \"env\": {\n        \"ROUTER_API_KEY\": \"your_actual_9router_api_key_here\",\n        \"ROUTER_BASE_URL\": \"your_9router_base_url_here\"\n      }\n    }\n  }\n}\n```\n\n### 3. Registering in Claude Code CLI\n```bash\nclaude mcp add --scope user 9router-search -e ROUTER_API_KEY=your_key -e ROUTER_BASE_URL=your_9router_base_url_here -- npx -y 9router-mcp\n```\n\n### 4. Registering in Codex CLI\n```bash\ncodex mcp add 9router-search --env ROUTER_API_KEY=your_key --env ROUTER_BASE_URL=your_9router_base_url_here -- npx -y 9router-mcp\n```\n\n---\n\n## 🛠️ Local Installation & Development\n\nIf you prefer to clone the repository and run it locally:\n\n### 1. Clone & Setup\n```bash\ngit clone https://github.com/dipandhali2021/9router-mcp.git\ncd 9router-mcp\n```\n\n### 2. Setup Local Environment File\nCreate a `.env` file in the root of the project:\n```bash\nROUTER_API_KEY=your_actual_9router_api_key_here\nROUTER_BASE_URL=your_9router_base_url_here\n```\n\n### 3. Run Locally\n```bash\nnode index.js\n```\n\n---\n\n## Tool API Specifications\n\n### 1. `websearch`\n- **Description**: Queries web searches using the 9router Search API and formats result lists (titles, URLs, snippets).\n- **Parameters**:\n  - `query` (string, required): The search query text.\n  - `max_results` (number, optional, default: `5`): Maximum search matches.\n\n### 2. `webfetch`\n- **Description**: Fetches any webpage content natively converted into clean Markdown using Firecrawl.\n- **Parameters**:\n  - `url` (string, required): Full HTTP/HTTPS website URL.\n\n### 3. `get_embeddings`\n- **Description**: Generates a numerical vector embedding for any input text.\n- **Parameters**:\n  - `input` (string, required): The text to embed.\n  - `model` (string, optional, default: `gemini/gemini-embedding-2-preview`): Embedding model.\n\n### 4. `generate_image`\n- **Description**: Generates an image via a detailed text prompt and downloads it locally.\n- **Parameters**:\n  - `prompt` (string, required): Detailed visual description of what the image should contain.\n  - `output_path` (string, optional, default: `generated.png`): Local filepath where the PNG should be saved.\n  - `model` (string, optional, default: `cf/@cf/black-forest-labs/flux-2-dev`): Image generation model.\n\n### 5. `text_to_speech`\n- **Description**: Synthesizes highly realistic audio speech from a text input and saves it locally.\n- **Parameters**:\n  - `text` (string, required): Text content to voice.\n  - `filepath` (string, optional, default: `speech.mp3`): Destination audio filepath.\n  - `model` (string, optional, default: `google-tts/en`): Text-to-speech voice model.\n\n### 6. `speech_to_text`\n- **Description**: Transcribes a local audio file (MP3, WAV, etc.) into clean plain text.\n- **Parameters**:\n  - `filepath` (string, required): Local audio filepath.\n  - `model` (string, optional, default: `groq/whisper-large-v3`): Transcription model.\n\n### 7. `get_health`\n- **Description**: Checks endpoint reachability, credentials authorization status, and network latency metrics.\n","readmeFilename":"README.md"}