{
  "markdown": "<a href=\"https://qlows.com?utm_source=github&utm_medium=readme&utm_campaign=mcp\">\n  <img src=\"https://qlows.com/brand/qlows-mark-color.svg\" alt=\"qlows\" height=\"72\" />\n</a>\n\n# qlows MCP connector\n\n[![npm](https://img.shields.io/npm/v/@qlows/mcp?color=cb3837&logo=npm)](https://www.npmjs.com/package/@qlows/mcp)\n[![LobeHub](https://img.shields.io/badge/LobeHub-MCP-42b883)](https://lobehub.com/mcp/getqlows-qlows-mcp)\n[![MCP Registry](https://img.shields.io/badge/MCP-Registry-000000)](https://registry.modelcontextprotocol.io)\n[![License: MIT](https://img.shields.io/badge/License-MIT-informational)](./LICENSE)\n\nBring your live **[qlows](https://qlows.com)** RFP/bid deals — and the public\ntender corpus across 35 WTO-GPA countries — into Claude, Cursor, Windsurf,\nCline, Zed, or any [Model Context\nProtocol](https://modelcontextprotocol.io) client.\n\n`qlows-mcp` is a tiny local connector. It runs on your machine as a stdio MCP\nserver and securely proxies tool calls to the qlows API\n(`https://app.qlows.com`). It stores nothing but your token, contains no\nbackend logic, and is **read-only** — your AI can pull deal context, never\nwrite back.\n\n> **Quotes. Flows. Close.** qlows preps the bid; your AI drafts from real,\n> grounded context. Learn more at **https://qlows.com**.\n\n## Install\n\nOne-click install for the common clients (or copy the JSON snippet below):\n\n[![Add to Cursor](https://img.shields.io/badge/Add_to-Cursor-000000?logo=cursor&logoColor=white)](cursor://anysphere.cursor-deeplink/mcp/install?name=qlows&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBxbG93cy9tY3AiXX0=)\n[![Add to VS Code](https://img.shields.io/badge/Add_to-VS_Code-007ACC?logo=visualstudiocode&logoColor=white)](vscode:mcp/install?%7B%22name%22%3A%22qlows%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40qlows%2Fmcp%22%5D%7D)\n[![Add to LobeChat](https://img.shields.io/badge/Add_to-LobeChat-42b883)](https://lobehub.com/mcp/getqlows-qlows-mcp)\n[![Set up in Claude](https://img.shields.io/badge/Set_up-Claude_Desktop-D97757?logo=anthropic&logoColor=white)](https://qlows.com/docs/mcp)\n\n---\n\n## Quick start (≈ 1 minute)\n\n```bash\n# 1. Connect your account (opens the browser, you paste a token back)\nnpx @qlows/mcp login\n\n# 2. Verify it works\nnpx @qlows/mcp test          # → prints the available tools\n\n# 3. Print the snippet for your AI client\nnpx @qlows/mcp config\n```\n\nThen add qlows to your client (example: **Claude Desktop**,\n`~/Library/Application Support/Claude/claude_desktop_config.json`):\n\n```json\n{\n  \"mcpServers\": {\n    \"qlows\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@qlows/mcp\"]\n    }\n  }\n}\n```\n\nRestart the client. If you didn't run `login`, pass the token instead:\n\n```json\n{\n  \"mcpServers\": {\n    \"qlows\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@qlows/mcp\"],\n      \"env\": { \"QLOWS_TOKEN\": \"qlw_live_…\" }\n    }\n  }\n}\n```\n\nYou'll need a qlows account to mint a personal token (free tier works for\ntender search). Sign up + mint at **https://app.qlows.com/mcp**.\n\n---\n\n## Try these prompts\n\nAfter connecting, ask your AI:\n\n1. *\"Use the qlows MCP to list my open deals, then summarize the top 3 risks\n   in the most urgent one.\"*\n2. *\"Search public tenders for Zero-Trust networking in the EU closing in the\n   next 30 days, and give me the qlows link for each.\"*\n3. *\"Read the deal `<deal-id>` from qlows and draft the Technical Approach\n   section, grounding every claim in the compliance items and our approved\n   answers.\"*\n\n---\n\n## What you get\n\nAll tools are **read-only**. Personal-data tools need a personal token; the\ntender tools also work on a free account.\n\n| Tool | What it does |\n|---|---|\n| `list_deals` | Your RFP/bid deals (lightweight metadata) |\n| `get_deal_snapshot` | Full deal snapshot — RFP summary + compliance + Q-routing + intelligence |\n| `search_compliance_items` | Keyword search across compliance items |\n| `get_q_routing_state` | Sections + questions + answers + assignment state |\n| `get_intelligence_summary` | AI summary + tailoring detection |\n| `list_questions` | Flat question list |\n| `list_competitors` | Per-deal competitor analysis |\n| `search_tenders` | Public tender corpus search (FTS + filters) |\n| `search_tenders_for_my_company` | Personalised semantic tender search |\n| `get_tender_detail` | Full enriched record for one tender |\n\nPlus three **prompts** (slash-commands) — `find_matching_tenders`,\n`draft_rfp_section`, `weekly_pipeline_review` — see [Skills](#skills) below.\n\nThe connector discovers tools **and prompts** live from the server, so new\nqlows capabilities appear without updating this package.\n\n---\n\n## Skills\n\nThree things qlows is built to do inside your AI. Each maps to a\n**prompt** (a slash-command your client exposes) plus the read-only tools it\ndrives — all grounded in real qlows data, never invented.\n\n### 🔎 Find matching tenders\n\nPrompt: **`find_matching_tenders`** (args: `industry`, optional `country`,\noptional `deadline_within_days`). Drives `search_tenders` and returns each live\nnotice with its canonical `qlows_url`. Full context:\n<https://qlows.com/platform/qlows-mcp>.\n\n> *\"Find open zero-trust networking tenders in Germany closing in the next 30\n> days, with the qlows link for each.\"*\n\n### ✍️ Draft an RFP section, grounded\n\nPrompt: **`draft_rfp_section`** (args: `deal_id`, `section`). Pulls the deal's\ncompliance grid and approved answers via `get_deal_snapshot` +\n`search_compliance_items`, then drafts the section with every claim traced to\nsource — no fabricated capabilities, dates, or past performance.\n\n> *\"Draft the Technical Approach for deal `<id>`, grounded in the compliance\n> items and our approved answers.\"*\n\n### 🗂️ Review your pipeline\n\nPrompt: **`weekly_pipeline_review`** (no args). Uses `list_deals` +\n`get_q_routing_state` to produce a prioritized to-do list: what's due, what's\nblocked, and the next action per deal.\n\n> *\"Review my qlows pipeline and tell me which bids need attention first.\"*\n\nThe public tender skills work on a free account; the deal skills need a\npersonal token. See the [full platform overview](https://qlows.com/platform/qlows-mcp).\n\n---\n\n## Commands\n\n| Command | Description |\n|---|---|\n| `qlows-mcp` | Run the MCP server over stdio (how clients launch it) |\n| `qlows-mcp login` | Sign in via browser and store a token in `~/.qlows/config.json` (0600) |\n| `qlows-mcp test` | List available tools to verify your token |\n| `qlows-mcp config` | Print config path + a client setup snippet |\n| `qlows-mcp help` | Usage |\n\n**Environment variables**\n\n- `QLOWS_TOKEN` — API token (overrides the stored one).\n- `QLOWS_BASE_URL` — defaults to `https://app.qlows.com`; point at\n  `http://localhost:3000` for local testing.\n\n---\n\n## How it works\n\n```\nMCP client (Claude/Cursor)  ⇄  qlows-mcp (stdio, local)  ⇄  https://app.qlows.com/api/mcp/<token>/rpc\n```\n\nThe connector is a transparent JSON-RPC proxy. It does not implement tools — it\nforwards `initialize`, `tools/list`, `tools/call`, `prompts/*`, and\n`resources/*` to the qlows server and relays the responses. The token travels\nin the request to qlows over HTTPS; treat it like a password.\n\n---\n\n## Troubleshooting\n\n- **`No qlows token found`** — run `qlows-mcp login`, or set `QLOWS_TOKEN`.\n- **`Token missing, invalid, or expired`** — the token was revoked or expired;\n  mint a new one at https://app.qlows.com/mcp and re-run `login`.\n- **`Rate limit exceeded`** — 60 requests/min per token; wait and retry.\n- **Client doesn't see `qlows`** — restart the client after editing config;\n  validate the JSON (a stray comma silently breaks it); check the client's MCP\n  logs.\n\nVerify end-to-end with the\n[MCP Inspector](https://github.com/modelcontextprotocol/inspector):\n\n```bash\nnpx @modelcontextprotocol/inspector npx @qlows/mcp\n```\n\n---\n\n## Privacy & security\n\n- Read-only: no tool writes back to your qlows account.\n- The connector stores only your token, locally, at `~/.qlows/config.json`\n  (permissions `0600`). It collects no telemetry.\n- Tokens are SHA-256-hashed at rest on the qlows server and can be revoked\n  instantly at https://app.qlows.com/mcp.\n- Privacy policy: https://qlows.com/privacy\n\n---\n\n## Roadmap\n\n- **One-click browser auto-capture** for `login` (loopback callback).\n- **Desktop Extension (`.mcpb`)** bundle for a true one-click Claude Desktop\n  install (the badge above links to setup docs in the meantime).\n- **Anthropic Connector Directory** listing — the OAuth 2.1 + PKCE endpoint is\n  live on the qlows server; directory submission is tracked as a follow-up.\n\n---\n\n## Development\n\n```bash\nnpm install\nnpm run build\nQLOWS_TOKEN=… QLOWS_BASE_URL=http://localhost:3000 node dist/index.js test\n```\n\nPublishing is automated on `v*` tags (see `.github/workflows/release.yml`):\nnpm publish → MCP Registry publish via GitHub OIDC.\n\n**##Badges**\n\n[![MCP Badge](https://lobehub.com/badge/mcp/getqlows-qlows-mcp)](https://lobehub.com/mcp/getqlows-qlows-mcp)\n\n## License\n\nMIT\n",
  "bytes": 8908,
  "sha": "5dc71feab302adf6e8f925d8e30a262063ce42709bae9310b3d8ed12c0df9e01",
  "repo_slug": "getqlows/qlows-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_getqlows_qlows_mcp_cda74788/readme"
}