{"_id":"@aratiri/mcp-docs-proxy","name":"@aratiri/mcp-docs-proxy","dist-tags":{"latest":"0.1.0"},"versions":{"0.1.0":{"name":"@aratiri/mcp-docs-proxy","version":"0.1.0","description":"Proxy MCP server that exposes any llms.txt URLs as auditable documentation tools.","main":"dist/index.js","bin":{"mcp-docs-proxy":"dist/index.js"},"scripts":{"build":"tsc -p tsconfig.json","start":"node dist/index.js","dev":"ts-node src/index.ts","prepare":"npm run build"},"keywords":["mcp","llms.txt","documentation","mcp-server","copilotkit"],"author":{"name":"CopilotKit"},"license":"MIT","dependencies":{"axios":"^1.6.7","chalk":"^4.1.2","commander":"^11.1.0","json-rpc-2.0":"^1.7.0","express":"^4.19.2"},"devDependencies":{"@types/node":"^20.9.0","ts-node":"^10.9.1","typescript":"^5.3.3","@types/express":"^4.17.21"},"_id":"@aratiri/mcp-docs-proxy@0.1.0","gitHead":"b62e894876ec89754c13d92d866122dd3e815d84","_nodeVersion":"20.19.2","_npmVersion":"10.8.2","dist":{"integrity":"sha512-VEY9SrqHT4Jlq/0bExiiGnJL36uSfrDQINN9kkyJOxxv31TzsGMiVtAAzA0A2F1A9WTO5uE2J/Ep04pXdBhMzQ==","shasum":"8129ea419523f0cacee704258066030b5a7a773f","tarball":"https://registry.npmjs.org/@aratiri/mcp-docs-proxy/-/mcp-docs-proxy-0.1.0.tgz","fileCount":5,"unpackedSize":24403,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDsNrHOoLzmZZ7XysPsTZAaFcxr1MnIEj/EhN9CD8375wIgRj91IPZE1FYeRvVb5XxEARrCNyqnNW38MX1/ef0+Zk4="}]},"_npmUser":{"name":"luisvaldeszero","email":"luis@valdes.com.br","actor":{"name":"luisvaldeszero","email":"luis@valdes.com.br","type":"user"}},"directories":{},"maintainers":[{"name":"luisvaldeszero","email":"luis@valdes.com.br"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-docs-proxy_0.1.0_1750254568647_0.583369969011746"},"_hasShrinkwrap":false}},"time":{"created":"2025-06-18T13:49:28.524Z","0.1.0":"2025-06-18T13:49:28.816Z","modified":"2025-06-18T13:49:29.154Z"},"maintainers":[{"name":"luisvaldeszero","email":"luis@valdes.com.br"}],"description":"Proxy MCP server that exposes any llms.txt URLs as auditable documentation tools.","keywords":["mcp","llms.txt","documentation","mcp-server","copilotkit"],"author":{"name":"CopilotKit"},"license":"MIT","readme":"#!/usr/bin/env node\n\ncd copilot-mcp-docs-server\npnpm install          # installs dev & prod deps\npnpm run build        # compiles to dist/\nnpx mcp-docs-proxy \\\n  --urls \"CopilotKit:https://docs.copilotkit.ai/llms-full.txt\" \\\n  --transport stdio  # default – ready for Cursor\n\n# @copilotkit/mcp-docs-proxy\n# @aratiri/mcp-docs-proxy\n\nExpose any `llms.txt` documentation index as an MCP (Model Context Protocol) server so IDE agents (Cursor, Windsurf, Claude Code/Desktop, …) can fetch the docs through auditable tool calls.  \nSupports three transports: **stdio** (default), **http** (JSON), **sse** (Server-Sent Events over HTTP).\n\nThis is a TypeScript port of [`langchain-ai/mcpdoc`](https://github.com/langchain-ai/mcpdoc). Published to npm as **@aratiri/mcp-docs-proxy**.\n\n---\n\n## Quick start\n\n### 1. Install dependencies & build\n\n```bash\npnpm install        # installs deps and auto-compiles TS → dist/\n```\n\n> `npm install` or `yarn install` also work – we just use `pnpm` here for speed.\n\n### 2. Run the server (compiled version)\n\n```bash\n# 1) STDIO (default) – great for local IDE integration\nnpx mcp-docs-proxy \\\n  --urls \"CopilotKit:https://docs.copilotkit.ai/llms-full.txt\"\n\n# 2) JSON-over-HTTP\nnpx mcp-docs-proxy \\\n  --urls \"CopilotKit:https://docs.copilotkit.ai/llms-full.txt\" \\\n  --transport http \\\n  --port 8082\n# → Will respond on POST http://localhost:8082/mcp\n\n# 3) Server-Sent Events (SSE) – same route but event-stream payload\nnpx mcp-docs-proxy \\\n  --urls \"CopilotKit:https://docs.copilotkit.ai/llms-full.txt\" \\\n  --transport sse \\\n  --host 0.0.0.0 --port 8083\n# → POST /mcp returns an SSE stream (`data: {json}\\n\\n`)\n```\n\nIf you have more than one source repeat the flag:\n\n```bash\nnpx mcp-docs-proxy \\\n  --urls \"CopilotKit:https://docs.copilotkit.ai/llms-full.txt\"\n```\n\n### 3. Developer mode (skip build, instant reload)\n\n```bash\npnpm run dev -- --urls \"CopilotKit:https://docs.copilotkit.ai/llms-full.txt\"\n```\n\n(the extra `--` passes the remaining flags to the underlying `ts-node` process).\n\n### 4. Verify it works\n\nSend a JSON-RPC request on stdin / stdout:\n\n```bash\necho '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"list_doc_sources\"}' | \\\n  npx mcp-docs-proxy --urls \"CopilotKit:https://docs.copilotkit.ai/llms-full.txt\"\n```\n\nExpected response:\n\n```json\n{\"jsonrpc\":\"2.0\",\"id\":1,\"result\":[{\"name\":\"CopilotKit\",\"llms_txt\":\"https://docs.copilotkit.ai/llms-full.txt\",\"line_count\":123}]}\n```\n\n---\n\n## CLI Flags\n\n| Flag | Description | Default |\n|------|-------------|---------|\n| `--urls <url...>` | One or more `Name:URL` pairs or raw URLs to `llms.txt`. | **required** |\n| `--follow-redirects` | Follow HTTP 30x redirects when downloading docs. | `false` |\n| `--timeout <sec>` | HTTP timeout for downloads. | `10` |\n| `--allowed-domains <domain...>` | Additional hostnames allowed in `fetch_docs`. Use `*` to allow all (not recommended). | domains of each `llms.txt` |\n| `--transport` | `stdio` (default), `http`, or `sse`. | `stdio` |\n| `--host` | Hostname/interface for `http`/`sse`. | `0.0.0.0` |\n| `--port` | Port for `http`/`sse`. | `8082` |\n\n---\n\n## Cursor integration example\n\nAdd to `~/.cursor/mcp.json`:\n\n```jsonc\n{\n  \"mcpServers\": {\n    \"copilot-docs\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"mcp-docs-proxy\",\n        \"--urls\",\n        \"CopilotKit:https://docs.copilotkit.ai/llms-full.txt\",\n        \"--transport\",\n        \"stdio\"\n      ]\n    }\n  }\n}\n```\n\nThen instruct Cursor to call the tools:\n\n```text\nfor ANY question about CopilotKit, use the copilot-docs server to help answer --\n+ call list_doc_sources to view llms.txt\n+ call fetch_docs to read relevant pages\n```\n\n---\n\n## Publishing to npm (maintainers only)\n\nPackage scope: **@aratiri**\n\n1. Make sure you are logged in to the CopilotKit npm org:\n   ```bash\n   npm login --scope=@aratiri\n   ```\n   (You'll need 2-factor auth enabled for the account.)\n\n2. Bump the version in `package.json` (follow semver):\n   ```bash\n   npm version minor   # or patch / major\n   ```\n   This creates a git tag like `v0.2.0`.\n\n3. Push the commit **and** tags:\n   ```bash\n   git push && git push --tags\n   ```\n\n4. Publish to the public registry:\n   ```bash\n   npm publish --access public\n   ```\n   Because the package name is scoped (`@aratiri/mcp-docs-proxy`), the\n   `--access public` flag is required.\n\n5. Verify:\n   ```bash\n   npm info @aratiri/mcp-docs-proxy version\n   ```\n\n> Tip: for dry-runs you can use `npm publish --dry-run` to see what files will be\n> included.\n\n---\n\n## License\n\nMIT © CopilotKit","readmeFilename":"README.md","_rev":"1-ecc4f2b95dd94425c7a0110fc0ba8448"}