{
  "markdown": "# docs-mcp\n\nDrop any Word, Excel, PDF or PowerPoint into a vector RAG store. Vision-model extraction handles scans, charts, and tables. Every returned chunk carries its page number for precise citations. Priced at exact break-even via Stripe — we make $0 per credit sold.\n\n**Live:** [docs.regiq.in](https://docs.regiq.in)\n\n## What it does\n\n1. **Ingest** — accepts `.pdf`, `.docx`, `.xlsx`, `.pptx`, `.doc`, `.xls`, `.ppt` up to 50 MB.\n2. **Extract** — renders every page as an image, runs Google Gemini 2.5 Flash Lite (via OpenRouter) over each page. Text, tables, and figure descriptions come out verbatim.\n3. **Store** — chunks (~500 tokens, 50-token overlap), embeds via `openai/text-embedding-3-small` (1536 dims), stored in Postgres + pgvector with page-number metadata.\n4. **Retrieve** — cosine-similarity search returns the top-k chunks; your agent synthesizes the answer.\n\n## Tools\n\n| Tool | What it does |\n|---|---|\n| `docs_upload({filename, contentBase64, mimeType?})` | Small (≤~7 MB) programmatic upload. Ingest runs async. |\n| `docs_list()` | All documents owned by the calling key. |\n| `docs_get({id})` | One doc's metadata + status + chunk count. |\n| `docs_search({query, k?, documentIds?})` | Semantic search. Returns top-k chunks with page numbers. **Free.** |\n| `docs_delete({id})` | Permanent delete. |\n| `docs_balance()` | Credit balance + last 10 transactions. |\n\nBigger files: upload via the web dashboard at [docs.regiq.in/dashboard](https://docs.regiq.in/dashboard) (max 50 MB).\n\n## Pricing\n\n**1 credit = 1 page ingested. Queries are free.** New accounts get 100 pages free on sign-up.\n\n| Top-up | Pages you get | ~Docs (10-pg avg) |\n|---|---|---|\n| $5 | 5,700 | 570 |\n| $10 | 11,700 | 1,170 |\n| $20 | 23,900 | 2,390 |\n| $50 | 60,500 | 6,050 |\n\nPer-page underlying cost is roughly `$0.0005` vision + `$0.00003` embedding via OpenRouter. Prices are set at exact break-even after Stripe's 2.9% + $0.30 fee — that flat fee is why $2 top-ups aren't offered (18% of $2 evaporates to Stripe).\n\n## Setup — any MCP client\n\n1. Sign in at [docs.regiq.in](https://docs.regiq.in) with Google or GitHub.\n2. Copy your API key from `/dashboard`.\n3. Add to your client config:\n\n```json\n{\n  \"mcpServers\": {\n    \"docs\": {\n      \"url\": \"https://docs.regiq.in/api/mcp\",\n      \"headers\": {\n        \"Authorization\": \"Bearer docs_live_...\"\n      }\n    }\n  }\n}\n```\n\nWorks in Claude Desktop, Cursor, Zed, and anything else that speaks streamable-http MCP.\n\n## Recommended flow\n\n```\n1. docs_upload({filename, contentBase64})   →  { id, status: \"processing\" }\n2. poll docs_get({id}) until status=\"ready\" (~10-60s for 10 pages)\n3. docs_search({query: \"...\", k: 8})        →  chunks with page numbers\n4. Your LLM synthesizes an answer and cites the page numbers.\n```\n\n## Self-host\n\n```bash\ngit clone https://github.com/globalion/docs-mcp\ncd docs-mcp\ncp .env.example .env  # fill in Google OAuth + OpenRouter + (optional) Stripe\ndocker compose up -d --build\n```\n\nUses `pgvector/pgvector:pg16` image so the vector extension is pre-installed. `docker exec docs-mcp-web npx prisma@6.19.2 db push --accept-data-loss --skip-generate` on first boot to sync the schema (the container CMD does this automatically).\n\n## License\n\nMIT — see [LICENSE](LICENSE). Built by [Shreyas](https://github.com/Shreyas-Profile), shipped by [Globalion](https://github.com/globalion).\n",
  "bytes": 3354,
  "sha": "3e48e4c0e5dad3493dce2fa02c5aae12a28080253f6bc8defccf733ad5971b6a",
  "repo_slug": "globalion/docs-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_shreyas_profile_docs_mcp_3f6ba00e/readme"
}