{"_id":"@baanish/synthetic-search-mcp","name":"@baanish/synthetic-search-mcp","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@baanish/synthetic-search-mcp","version":"1.0.0","description":"MCP server for Synthetic web search.","license":"MIT","type":"module","main":"./dist/index.js","bin":{"synthetic-search-mcp":"dist/index.js"},"publishConfig":{"access":"public"},"engines":{"node":">=18"},"scripts":{"build":"tsc -p tsconfig.json","dev":"tsx src/index.ts","prepare":"npm run build","start":"node dist/index.js"},"keywords":["mcp","model-context-protocol","synthetic","search","stdio"],"dependencies":{"@modelcontextprotocol/sdk":"^1.27.1","zod":"^3.25.76"},"devDependencies":{"@types/node":"^24.3.0","tsx":"^4.20.5","typescript":"^5.9.2"},"gitHead":"8cfeb2d2f91d3bdd405425fe9dc74d9e412f40d5","types":"./dist/index.d.ts","_id":"@baanish/synthetic-search-mcp@1.0.0","_nodeVersion":"25.8.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-tIsBOCUkP6FEhF7IqAk64iJcj81P2gRRz5YBI0J3OiGqGOHFGofhtV2EOMwoOIAbT/54FJy7Aruh7gDlgx52Fw==","shasum":"2a3c90e641f1a76c6cf265fda860e2799aaacf02","tarball":"https://registry.npmjs.org/@baanish/synthetic-search-mcp/-/synthetic-search-mcp-1.0.0.tgz","fileCount":5,"unpackedSize":11266,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFJrB6ceolVIUAUsPRuXMSvh/sFcUXsFgxePvQ3AEhVOAiAGeCO5kivK51WJmyZjxRqz7D+YmnDLFhlfRk3rtKCyLg=="}]},"_npmUser":{"name":"baanish","email":"aanishbhirud@gmail.com"},"directories":{},"maintainers":[{"name":"baanish","email":"aanishbhirud@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/synthetic-search-mcp_1.0.0_1773479233185_0.5216014790063697"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-14T09:07:13.126Z","1.0.0":"2026-03-14T09:07:13.475Z","modified":"2026-03-14T09:07:13.638Z"},"maintainers":[{"name":"baanish","email":"aanishbhirud@gmail.com"}],"description":"MCP server for Synthetic web search.","keywords":["mcp","model-context-protocol","synthetic","search","stdio"],"license":"MIT","readme":"# @baanish/synthetic-search-mcp\n\nA minimal [Model Context Protocol](https://modelcontextprotocol.io/) server that exposes [Synthetic](https://synthetic.new) web search over stdio.\n\nIt provides one MCP tool:\n\n- `search`: run a web search against Synthetic and return a small set of results with `url`, `title`, `published`, and a truncated page-text snippet.\n\nThe server is designed for local MCP clients such as Claude Code, Codex CLI, Cursor, and VS Code.\n\n## Features\n\n- One focused tool: `search`\n- Fresh web results from Synthetic's `/v2/search` API\n- Truncates extracted page text to about 2000 characters per result\n- Sanitizes malformed control characters before `JSON.parse`\n- Reads credentials from `SYNTHETIC_API_KEY`\n- Runs over stdio for local MCP integrations\n\n## Requirements\n\n- Node.js 18+\n- A Synthetic API key in `SYNTHETIC_API_KEY`\n\n## Installation\n\nUse `npx`:\n\n```bash\nnpx -y @baanish/synthetic-search-mcp\n```\n\nOr install globally:\n\n```bash\nnpm install -g @baanish/synthetic-search-mcp\nsynthetic-search-mcp\n```\n\n## MCP Client Setup\n\nThe server command is:\n\n```json\n{\n  \"command\": \"npx\",\n  \"args\": [\"-y\", \"@baanish/synthetic-search-mcp\"],\n  \"env\": {\n    \"SYNTHETIC_API_KEY\": \"your_api_key_here\"\n  }\n}\n```\n\n### Claude Code\n\nAdd a project-level `.mcp.json` file:\n\n```json\n{\n  \"mcpServers\": {\n    \"synthetic-search\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@baanish/synthetic-search-mcp\"],\n      \"env\": {\n        \"SYNTHETIC_API_KEY\": \"your_api_key_here\"\n      }\n    }\n  }\n}\n```\n\n### Codex CLI\n\nAdd this to `~/.codex/config.toml`:\n\n```toml\n[mcp_servers.synthetic-search]\ncommand = \"npx\"\nargs = [\"-y\", \"@baanish/synthetic-search-mcp\"]\nenv = { SYNTHETIC_API_KEY = \"your_api_key_here\" }\n```\n\n### Cursor\n\nAdd this to `.cursor/mcp.json` in your project or the equivalent Cursor MCP settings file:\n\n```json\n{\n  \"mcpServers\": {\n    \"synthetic-search\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@baanish/synthetic-search-mcp\"],\n      \"env\": {\n        \"SYNTHETIC_API_KEY\": \"your_api_key_here\"\n      }\n    }\n  }\n}\n```\n\n### VS Code / GitHub Copilot\n\nAdd this to `.vscode/mcp.json`:\n\n```json\n{\n  \"servers\": {\n    \"synthetic-search\": {\n      \"type\": \"stdio\",\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@baanish/synthetic-search-mcp\"],\n      \"env\": {\n        \"SYNTHETIC_API_KEY\": \"your_api_key_here\"\n      }\n    }\n  }\n}\n```\n\n## Tool\n\n### `search`\n\nSearch the public web through Synthetic.\n\nInput:\n\n```json\n{\n  \"query\": \"latest model context protocol news\"\n}\n```\n\nOutput:\n\n```json\n[\n  {\n    \"url\": \"https://example.com/article\",\n    \"title\": \"Example result\",\n    \"text\": \"Truncated extracted page text...\",\n    \"published\": \"2026-03-12T10:15:00.000Z\"\n  }\n]\n```\n\nNotes:\n\n- Synthetic only supports a single `query` parameter.\n- Result text is truncated to keep MCP context manageable.\n- `published` may be `null` when the source does not provide a date.\n\n## Development\n\n```bash\nnpm install\nnpm run build\n```\n\nRun locally:\n\n```bash\nSYNTHETIC_API_KEY=your_api_key_here npm run dev\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md","_rev":"1-1e1364fb459a13e7e10bd166e0d1e5a9"}