# Cunicula agent connector

Search privacy services, compare them, and retrieve articles and source links.
The connector reads the same published data as https://cunicula.com/api/v1/services.
It is free and needs no Cunicula account or API key.

## ChatGPT

In https://chatgpt.com/plugins, open the Add menu and choose **Create custom
MCP server**. Enter:

- Name: Cunicula
- Server URL: `https://cunicula.com/api/mcp`
- Authentication: **No authentication**

Connect it, open Cunicula and choose **Try in chat**. Ask: "Compare Briar and
SimpleX using Cunicula. Include source links and review dates."

If custom servers are not visible, check whether Developer mode is available
under ChatGPT's Security and login settings. Availability depends on the
account and workspace. This is a custom connection, not a public-directory
listing. The tools read published information; they cannot change accounts,
make purchases or access private research.

## Consumer Muse

The official integration target is https://muse.ai/platform, the Muse
Connector Platform. It accepts connector submissions for functional, security,
legal and end-to-end review. Directory inclusion follows approval; featured
placement is a separate editorial decision. Cunicula has been submitted and
is awaiting a response. Existing REST and MCP access does not imply approval.

Consumer Muse is the personal agent at https://muse.ai, not Muse Code or the
Model API playground. It can browse public websites and create custom
connectors from a service's API information, according to Meta's consumer
documentation: https://www.meta.com/help/2124746764949121/ and
https://www.meta.com/help/1687253048996149/ (checked 2026-09-22).

For explicit retrieval, ask Muse to read https://cunicula.com/en/provider/mullvad-vpn
and report its source links and review date. For structured read-only access,
provide https://cunicula.com/api/v1/openapi.json. No Cunicula login or key is
needed. Custom connector creation is controlled by the user inside Muse;
these instructions do not register Cunicula in Meta's built-in connector list.

Retrieval after naming Cunicula is not evidence of unprompted discovery.
Neither an HTTP success nor the developer checks below prove consumer
retrieval or citations. Muse Code is not a requirement for using this site.

## Muse Code (supplementary developer access)

Add this entry to `mcp_servers` in your Muse Code settings file, keeping any
other servers already configured:

```json
{
  "mcp_servers": {
    "cunicula": {
      "transport": "streamable_http",
      "url": "https://cunicula.com/api/mcp",
      "enabled": true,
      "mode": "optional"
    }
  }
}
```

Start a new Muse Code session. Run `/mcp` and check that Cunicula's five tools
appear. Ask: "Use Cunicula to compare Mullvad and Proton VPN. Include their
review dates and source links."

`optional` lets Muse start if Cunicula is temporarily unavailable. It does not
make a failed query successful; check the tool result before using its data.

## Muse Spark API

The example connects to Cunicula through the official MCP client. It passes
the discovered tool schemas to Meta's Responses API and returns tool results
to Muse Spark. There is no second copy of the data or tool definitions.

Requires Node.js 20 or later. In an example directory:

```sh
npm install @modelcontextprotocol/sdk@1.30.0
curl --fail -O https://cunicula.com/connectors/muse-spark.mjs
node muse-spark.mjs --check
```

`--check` lists the tools and searches Cunicula without calling Meta or using
model credits. To run the complete Muse Spark loop, supply your Meta
`MODEL_API_KEY` through your environment, then run:

```sh
node muse-spark.mjs "Find privacy-focused email services. Cite sources and review dates."
```

Meta inference has its own charges. Cunicula remains free. The example uses
`store: false`, preserves encrypted reasoning between tool calls, and stops
after six model turns. Requests and tool results are sent to Meta when you
run the model example. Cunicula never receives the Meta key or the full
conversation, only tool inputs. Normal hosting request logs may still apply.

## Tools and limits

- `search`: services and articles, up to 20 results per call, with an offset.
- `get_service`: one service, its canonical score, rationale, dates and sources.
- `compare_services`: two to four services, without changing their ratings.
- `get_article`: up to five sections; follow `next_offset` for the rest.
- `get_sources`: original source records for a service or public article.

Public access shares the API's 60 requests per minute. Respect HTTP 429 and
`Retry-After`. Input is limited to 16 KiB and each tool result to 64 KiB.
Large source records remain available through the linked REST API.
The server is stateless and uses Streamable HTTP POST. GET event streams and
DELETE sessions are not supported. Browser origins use the site's API allowlist;
Muse Code and the Node example connect directly without a browser origin.

Use `canonical_score` with `score_version`. A missing value is not proof a
feature is unsupported. Cite canonical pages and check source review dates.
Terms: https://cunicula.com/en/cite

## Compatibility

The downloadable files are a Muse Code MCP configuration and a Muse Spark API example. They do
not automatically install a connector for every consumer Muse user, guarantee
web-search citations, or claim a native Instinct integration.

Official documentation checked 2026-09-21:
- https://dev.meta.ai/docs/muse-code/extending
- https://dev.meta.ai/docs/tool-calling
- https://dev.meta.ai/docs/protocols/responses

Public reference: https://cunicula.com/en/api-docs#agent-connector
