Odel
Compass

Compass

Local
@licentiumioJavaScriptMITUpdated 2mo ago

Ground your LLM in EU financial, crypto and AI regulation, verbatim and cited, via Compass.

compass-mcp

An MCP server that grounds your LLM in EU financial, crypto and AI regulation via Compass. Add it to Claude Desktop, Cursor, or any MCP host, and the model can pull the governing EU provisions, verbatim and article-cited, before it answers.

It exposes two tools over Compass's public grounding API:

  • compass_retrieve: a question in, the top governing provisions out (verbatim text, article-level citations, cross-references) from the core EU acts (MiCA, DORA, MiFID II, the AML package, the AI Act, GDPR and more).
  • compass_verify: check that a quote is a verbatim span of a specific provision, so the model never misquotes the law.

1. Get an API key

Create a key at compass.licentium.ai/developers. It looks like ck_live_.... The first calls are free; after that, usage is metered against your Compass credits. Keep the key secret.

2. Install and build

git clone <this-repo> compass-mcp
cd compass-mcp
npm install
npm run build

This produces dist/index.js. (Once published to npm, hosts can run it with npx -y @licentium/compass-mcp and skip the clone/build.)

3. Configure your MCP host

Set COMPASS_API_KEY to your key in the server's environment.

Claude Desktop

Edit claude_desktop_config.json (Settings → Developer → Edit Config):

{
  "mcpServers": {
    "compass": {
      "command": "node",
      "args": ["/absolute/path/to/compass-mcp/dist/index.js"],
      "env": { "COMPASS_API_KEY": "ck_live_your_key_here" }
    }
  }
}

Restart Claude Desktop. You should see compass_retrieve and compass_verify in the tools list.

Cursor

Add to ~/.cursor/mcp.json (or the project's .cursor/mcp.json):

{
  "mcpServers": {
    "compass": {
      "command": "node",
      "args": ["/absolute/path/to/compass-mcp/dist/index.js"],
      "env": { "COMPASS_API_KEY": "ck_live_your_key_here" }
    }
  }
}

Any other MCP host

Run the binary over stdio with COMPASS_API_KEY set:

COMPASS_API_KEY=ck_live_your_key_here node dist/index.js

Tools

compass_retrieve

ParamTypeNotes
querystringA regulatory question in plain language.
top_knumberOptional. Provisions to return, 1 to 20 (default 8).

Returns the governing provisions as verbatim text, each with its reference (e.g. MiCA, Article 59), a node_id, and any cross-references. Feed a node_id into compass_verify to confirm a quote.

compass_verify

ParamTypeNotes
node_idstringThe node_id of a provision from compass_retrieve.
quotestringThe exact text you intend to attribute to it.

Returns whether the quote is a verbatim span of that provision.

Configuration

Env varRequiredDefaultNotes
COMPASS_API_KEYyes(none)Your ck_live_ key.
COMPASS_API_URLnohttps://compass.licentium.aiOverride only for self-hosted endpoints.

Notes

Compass returns primary-law text only. It is a research and scoping tool, not legal advice. When the corpus does not govern a question, compass_retrieve returns nothing rather than guessing, so instruct your model not to assert an ungrounded answer.

Logs go to stderr so they never corrupt the stdio JSON-RPC stream.