# AGENTS.md: Qscape

Instructions for any coding or research agent that needs quantum funding data from Qscape (https://qscape.vc).

## Rules

- No credentials: every route is public and read-only.
- A cited value is `{value, quote, url, src}`: quote `quote` and link `url`. `src: "inferred"` (quote and url null) means no source text states the value: do not cite it. People facts carry `status`: `verified` (2+ independent sources agree) or `single` (one source); `checks[]` marks a `conflict` between sources, a red flag.
- Amounts are US dollars. Report `generated_at` with any answer.
- Prefer the MCP server; fall back to the markdown routes (`.md`) or JSON.

## For Grok and other URL-only agents

Grok's browsing, ChatGPT search and most chat agents can only fetch a URL. Paste one of these URLs into the chat and ask your question. The markdown routes return plain tables the model reads directly.

Example URLs:

```text
https://qscape.vc/api/rounds.md
https://qscape.vc/api/rounds.md?from=2026-10-01
https://qscape.vc/api/rounds.md?stage=Seed,Series%20A&country=United%20States
https://qscape.vc/api/rounds.md?min_usd=50000000&sort=amount_usd
https://qscape.vc/api/rounds.md?investor=Ground%20State
https://qscape.vc/api/companies.md?segment=Sensing&has_rounds=true
https://qscape.vc/api/companies/<company-id>.md
https://qscape.vc/api/investors.md?led=true&sort=rounds_led
https://qscape.vc/api/search.md?q=photonics
https://qscape.vc/api/meta.md
```

Example prompts:

```text
Read https://qscape.vc/api/rounds.md?from=2026-10-01 and list this month's quantum rounds over $10M. Quote the evidence line and link for each amount.

Open https://qscape.vc/api/search.md?q=<company name>, then the company's /api/companies/<id>.md page, and summarize its rounds and team. Say which facts are verified and which come from a single source.

Using https://qscape.vc/api/investors.md?led=true&sort=rounds_led, who led the most quantum rounds? Then open https://qscape.vc/api/meta.md and tell me how fresh the data is.
```

- Use `.md` routes for chat agents; drop `.md` for JSON. Page with the `Next page` link at the bottom of each table.

## Claude Code

Add Qscape as a remote MCP server. User scope makes it available in every project.

Add the server:

```bash
claude mcp add --transport http --scope user qscape https://qscape.vc/mcp
```

Check it:

```bash
claude mcp list
claude mcp get qscape
```

Drop-in CLAUDE.md or skill snippet:

```markdown
## Qscape: quantum funding data
- For any question about funding rounds, companies, founders or investors in quantum technology, use the `qscape` MCP tools: `search` to find ids, `search_rounds` for filtered rounds, `get_company` for one company, `list_investors`, and `meta` for freshness.
- Amounts are US dollars (`amount_usd`, null when undisclosed). Cite each value with its `evidence.<field>.quote` and `url`; never cite a value whose `src` is `inferred`.
- Say how fresh the answer is from `generated_at`. Without MCP, fetch https://qscape.vc/api/rounds.md.
```

- Docs: https://code.claude.com/docs/en/mcp. Remove with `claude mcp remove qscape -s user`.

## Claude (claude.ai and desktop)

Add a custom connector: Settings, Connectors, Add custom connector. Paste the URL below and leave sign-in empty.

Connector URL:

```text
https://qscape.vc/mcp
```

- Docs: https://claude.com/docs/connectors/custom/add-unlisted

## ChatGPT

For a quick question, paste a URL from the Grok section into the chat. For tools, add Qscape as an MCP app in developer mode (Settings, Apps and connectors, Advanced, Developer mode, then Create): the connector URL below, authentication No authentication.

Connector URL:

```text
https://qscape.vc/mcp
```

Custom GPT action:

```text
Import the schema from https://qscape.vc/openapi.json. Authentication: None.
```

- Docs: https://developers.openai.com/api/docs/guides/developer-mode

## OpenAI Codex CLI

Add this to ~/.codex/config.toml.

~/.codex/config.toml:

```toml
[mcp_servers.qscape]
url = "https://qscape.vc/mcp"
```

- Docs: https://developers.openai.com/codex/mcp

## OpenCode

Add a remote server to opencode.json (project) or ~/.config/opencode/opencode.json (global). `oauth: false` stops OpenCode from trying an OAuth flow.

opencode.json:

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "qscape": {
      "type": "remote",
      "url": "https://qscape.vc/mcp",
      "enabled": true,
      "oauth": false
    }
  }
}
```

- Docs: https://opencode.ai/docs/mcp-servers/

## Muse Code (Meta)

Add the server under `mcpServers` in ~/.config/muse/settings.json, then start a new session.

~/.config/muse/settings.json:

```json
{
  "mcpServers": {
    "qscape": {
      "type": "streamable-http",
      "url": "https://qscape.vc/mcp"
    }
  }
}
```

- Docs: https://meta-models.github.io/muse-code-sdk/next/guides/extend/mcp-servers/

## Grok through the xAI API

The xAI Responses API calls remote MCP servers itself. Give it the MCP URL as the server.

Tool entry:

```json
{
  "type": "mcp",
  "server_label": "qscape",
  "server_url": "https://qscape.vc/mcp"
}
```

- Docs: https://docs.x.ai/developers/tools/remote-mcp

## curl

The same filters on every route.

Requests:

```bash
curl "https://qscape.vc/api/rounds?from=2026-10-01&min_usd=10000000"
curl "https://qscape.vc/api/rounds.md?stage=Seed"
curl -H "Accept: text/markdown" "https://qscape.vc/api/meta"
curl -X POST "https://qscape.vc/mcp" -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"search_rounds","arguments":{"stage":"Seed","limit":5}}}'
```

## Python

Standard library only. Pages until next_offset is null.

rounds.py:

```python
import json, urllib.parse, urllib.request

def rounds(**filters):
    offset = 0
    while offset is not None:
        q = urllib.parse.urlencode({**filters, "limit": 500, "offset": offset})
        page = json.load(urllib.request.urlopen(f"https://qscape.vc/api/rounds?{q}"))
        yield from page["data"]
        offset = page["next_offset"]

for r in rounds(segment="Sensing", **{"from": "2026-01-01"}):
    ev = r["evidence"].get("amount")
    print(r["date"], r["company"], r["amount_usd"], ev and ev["src"] != "inferred" and ev["url"])
```

## Reference

- https://qscape.vc/llms-full.txt
- https://qscape.vc/openapi.json
