Ground your LLM in EU financial, crypto and AI regulation, verbatim and cited, via Compass.
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.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.
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.)
Set COMPASS_API_KEY to your key in the server's environment.
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.
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" }
}
}
}
Run the binary over stdio with COMPASS_API_KEY set:
COMPASS_API_KEY=ck_live_your_key_here node dist/index.js
compass_retrieve| Param | Type | Notes |
|---|---|---|
query | string | A regulatory question in plain language. |
top_k | number | Optional. 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| Param | Type | Notes |
|---|---|---|
node_id | string | The node_id of a provision from compass_retrieve. |
quote | string | The exact text you intend to attribute to it. |
Returns whether the quote is a verbatim span of that provision.
| Env var | Required | Default | Notes |
|---|---|---|---|
COMPASS_API_KEY | yes | (none) | Your ck_live_ key. |
COMPASS_API_URL | no | https://compass.licentium.ai | Override only for self-hosted endpoints. |
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.
Source-derived launch command. Check the maintainer’s required arguments and credentials before running:
npx -y @licentium/compass-mcpMerge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.
{
"mcpServers": {
"io-github-licentiumio-compass-mcp": {
"command": "npx",
"args": [
"-y",
"@licentium/compass-mcp"
]
}
}
}Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.
Claude Desktop setup referenceCompass works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.
~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.~/.cursor/mcp.jsonRestart Cursor for changes to take effect..vscode/mcp.jsonReload VS Code window for changes to take effect.~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect..mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.