# qlows-mcp [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/getqlows/qlows-mcp  
**GitHub Stars:** 0  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/qlows-mcp

## Description
Your live qlows RFP/bid deals + public tender search, inside any MCP client like Claude or Cursor.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "qlows-mcp": {
    "command": "npx",
    "args": ["-y","@qlows/mcp"]
  }
}
```

## Documentation & README

<a href="https://qlows.com?utm_source=github&utm_medium=readme&utm_campaign=mcp">
  <img src="https://qlows.com/brand/qlows-mark-color.svg" alt="qlows" height="72" />
</a>

# qlows MCP connector

[![npm](https://img.shields.io/npm/v/@qlows/mcp?color=cb3837&logo=npm)](https://www.npmjs.com/package/@qlows/mcp)
[![LobeHub](https://img.shields.io/badge/LobeHub-MCP-42b883)](https://lobehub.com/mcp/getqlows-qlows-mcp)
[![MCP Registry](https://img.shields.io/badge/MCP-Registry-000000)](https://registry.modelcontextprotocol.io)
[![License: MIT](https://img.shields.io/badge/License-MIT-informational)](./LICENSE)

Bring your live **[qlows](https://qlows.com)** RFP/bid deals — and the public
tender corpus across 35 WTO-GPA countries — into Claude, Cursor, Windsurf,
Cline, Zed, or any [Model Context
Protocol](https://modelcontextprotocol.io) client.

`qlows-mcp` is a tiny local connector. It runs on your machine as a stdio MCP
server and securely proxies tool calls to the qlows API
(`https://app.qlows.com`). It stores nothing but your token, contains no
backend logic, and is **read-only** — your AI can pull deal context, never
write back.

> **Quotes. Flows. Close.** qlows preps the bid; your AI drafts from real,
> grounded context. Learn more at **https://qlows.com**.

## Install

One-click install for the common clients (or copy the JSON snippet below):

[![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=)
[![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)
[![Add to LobeChat](https://img.shields.io/badge/Add_to-LobeChat-42b883)](https://lobehub.com/mcp/getqlows-qlows-mcp)
[![Set up in Claude](https://img.shields.io/badge/Set_up-Claude_Desktop-D97757?logo=anthropic&logoColor=white)](https://qlows.com/docs/mcp)

---

## Quick start (≈ 1 minute)

```bash
# 1. Connect your account (opens the browser, you paste a token back)
npx @qlows/mcp login

# 2. Verify it works
npx @qlows/mcp test          # → prints the available tools

# 3. Print the snippet for your AI client
npx @qlows/mcp config
```

Then add qlows to your client (example: **Claude Desktop**,
`~/Library/Application Support/Claude/claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "qlows": {
      "command": "npx",
      "args": ["-y", "@qlows/mcp"]
    }
  }
}
```

Restart the client. If you didn't run `login`, pass the token instead:

```json
{
  "mcpServers": {
    "qlows": {
      "command": "npx",
      "args": ["-y", "@qlows/mcp"],
      "env": { "QLOWS_TOKEN": "qlw_live_…" }
    }
  }
}
```

You'll need a qlows account to mint a personal token (free tier works for
tender search). Sign up + mint at **https://app.qlows.com/mcp**.

---

## Try these prompts

After connecting, ask your AI:

1. *"Use the qlows MCP to list my open deals, then summarize the top 3 risks
   in the most urgent one."*
2. *"Search public tenders for Zero-Trust networking in the EU closing in the
   next 30 days, and give me the qlows link for each."*
3. *"Read the deal `<deal-id>` from qlows and draft the Technical Approach
   section, grounding every claim in the compliance items and our approved
   answers."*

---

## What you get

All tools are **read-only**. Personal-data tools need a personal token; the
tender tools also work on a free account.

| Tool | What it does |
|---|---|
| `list_deals` | Your RFP/bid deals (lightweight metadata) |
| `get_deal_snapshot` | Full deal snapshot — RFP summary + compliance + Q-routing + intelligence |
| `search_compliance_items` | Keyword search across compliance items |
| `get_q_routing_state` | Sections + questions + answers + assignment state |
| `get_intelligence_summary` | AI summary + tailoring detection |
| `list_questions` | Flat question list |
| `list_competitors` | Per-deal competitor analysis |
| `search_tenders` | Public tender corpus search (FTS + filters) |
| `search_tenders_for_my_company` | Personalised semantic tender search |
| `get_tender_detail` | Full enriched record for one tender |

Plus three **prompts** (slash-commands) — `find_matching_tenders`,
`draft_rfp_section`, `weekly_pipeline_review` — see [Skills](#skills) below.

The connector discovers tools **and prompts** live from the server, so new
qlows capabilities appear without updating this package.

---

## Skills

Three things qlows is built to do inside your AI. Each maps to a
**prompt** (a slash-command your client exposes) plus the read-only tools it
drives — all grounded in real qlows data, never invented.

### 🔎 Find matching tenders

Prompt: **`find_matching_tenders`** (args: `industry`, optional `country`,
optional `deadline_within_days`). Drives `search_tenders` and returns each live
notice with its canonical `qlows_url`. Full context:
<https://qlows.com/platform/qlows-mcp>.

> *"Find open zero-trust networking tenders in Germany closing in the next 30
> days, with the qlows link for each."*

### ✍️ Draft an RFP section, grounded

Prompt: **`draft_rfp_section`** (args: `deal_id`, `section`). Pulls the deal's
compliance grid and approved answers via `get_deal_snapshot` +
`search_compliance_items`, then drafts the section with every claim traced to
source — no fabricated capabilities, dates, or past performance.

> *"Draft the Technical Approach for deal `<id>`, grounded in the compliance
> items and our approved answers."*

### 🗂️ Review your pipeline

Prompt: **`weekly_pipeline_review`** (no args). Uses `list_deals` +
`get_q_routing_state` to produce a prioritized to-do list: what's due, what's
blocked, and the next action per deal.

> *"Review my qlows pipeline and tell me which bids need attention first."*

The public tender skills work on a free account; the deal skills need a
personal token. See the [full platform overview](https://qlows.com/platform/qlows-mcp).

---

## Commands

| Command | Description |
|---|---|
| `qlows-mcp` | Run the MCP server over stdio (how clients launch it) |
| `qlows-mcp login` | Sign in via browser and store a token in `~/.qlows/config.json` (0600) |
| `qlows-mcp test` | List available tools to verify your token |
| `qlows-mcp config` | Print config path + a client setup snippet |
| `qlows-mcp help` | Usage |

**Environment variables**

- `QLOWS_TOKEN` — API token (overrides the stored one).
- `QLOWS_BASE_URL` — defaults to `https://app.qlows.com`; point at
  `http://localhost:3000` for local testing.

---

## How it works

```
MCP client (Claude/Cursor)  ⇄  qlows-mcp (stdio, local)  ⇄  https://app.qlows.com/api/mcp/<token>/rpc
```

The connector is a transparent JSON-RPC proxy. It does not implement tools — it
forwards `initialize`, `tools/list`, `tools/call`, `prompts/*`, and
`resources/*` to the qlows server and relays the responses. The token travels
in the request to qlows over HTTPS; treat it like a password.

---

## Troubleshooting

- **`No qlows token found`** — run `qlows-mcp login`, or set `QLOWS_TOKEN`.
- **`Token missing, invalid, or expired`** — the token was revoked or expired;
  mint a new one at https://app.qlows.com/mcp and re-run `login`.
- **`Rate limit exceeded`** — 60 requests/min per token; wait and retry.
- **Client doesn't see `qlows`** — restart the client after editing config;
  validate the JSON (a stray comma silently breaks it); check the client's MCP
  logs.

Verify end-to-end with the
[MCP Inspector](https://github.com/modelcontextprotocol/inspector):

```bash
npx @modelcontextprotocol/inspector npx @qlows/mcp
```

---

## Privacy & security

- Read-only: no tool writes back to your qlows account.
- The connector stores only your token, locally, at `~/.qlows/config.json`
  (permissions `0600`). It collects no telemetry.
- Tokens are SHA-256-hashed at rest on the qlows server and can be revoked
  instantly at https://app.qlows.com/mcp.
- Privacy policy: https://qlows.com/privacy

---

## Roadmap

- **One-click browser auto-capture** for `login` (loopback callback).
- **Desktop Extension (`.mcpb`)** bundle for a true one-click Claude Desktop
  install (the badge above links to setup docs in the meantime).
- **Anthropic Connector Directory** listing — the OAuth 2.1 + PKCE endpoint is
  live on the qlows server; directory submission is tracked as a follow-up.

---

## Development

```bash
npm install
npm run build
QLOWS_TOKEN=… QLOWS_BASE_URL=http://localhost:3000 node dist/index.js test
```

Publishing is automated on `v*` tags (see `.github/workflows/release.yml`):
npm publish → MCP Registry publish via GitHub OIDC.

**##Badges**

[![MCP Badge](https://lobehub.com/badge/mcp/getqlows-qlows-mcp)](https://lobehub.com/mcp/getqlows-qlows-mcp)

## License

MIT

