Circulara Observe MCP plugin - meters your AI agents' token spend and carbon, free tier.
Circulara Observe MCP plugin - meters your AI agents' token spend and carbon, free tier. The plugin mcp server wraps that behind the Model Context Protocol, so an assistant can use it through 4 defined tools rather than through you.
Circulara Observe tier: per-tenant backend + MCP plugin. Sprints 1-4: WS0 (scaffold), WS6 (pricing registry), WS1 (MCP plugin), WS2 (auth + BYO keys + gateway), WS3 (telemetry pipeline: normalize -> re-price -> append; free-tier cap; OpenAI-format gateway for Cursor-class hosts), WS4 (meter compute: registry pricing, energy/CO2e ranges with confidence labels, per user/team/module/month report), WS5 (Observe dashboard + savings-potential report + monthly statement, server-rendered, Ledger Light brand tokens; seed a demo tenant with packages/backend/scripts/seed-demo.ts and open the printed /dashboard URL).
Everything the assistant can do here goes through one of these:
Humans — OIDC/SSO (RS256 vs org issuer JWKS; admin via circulara_role=admin claim)Gateway — unknown credential 401; missing tenant key 503; per-seat attribution exact;OIDC — wrong issuer rejected; dev tokens rejected outside dev mode; agent tokens expirePackage — WhatInstallation goes through your MCP client rather than a global install: point it at tsx on npm and it is fetched when the client starts. The copy-paste blocks for Claude Desktop, Claude Code and Cursor are further down this page.
You will need 7 environment variables: CIRCULARA_BACKEND_URL, CIRCULARA_TENANT_ID, CIRCULARA_TOKEN, CIRCULARA_SEAT_ID, CIRCULARA_USER_ID, CIRCULARA_MASTER_KEY, CIRCULARA_AGENT_TOKEN_SECRET. The server will not start without them, which is usually why the tools fail to appear on a first run. Keep credentials in your client's env block or a secrets manager rather than in a file you might commit.
Plenty of developer tooling servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Plugin's toolset — Humans, Gateway, OIDC and 1 more — is a fair guide to whether it matches your workflow. It is maintained by ai.circulara; worth a glance at recent repository activity before you build anything load-bearing on it.
SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.
| Tool | What it does |
|---|---|
| Humans | OIDC/SSO (RS256 vs org issuer JWKS; admin via circulara_role=admin claim). |
| Gateway | unknown credential 401; missing tenant key 503; per-seat attribution exact; |
| OIDC | wrong issuer rejected; dev tokens rejected outside dev mode; agent tokens expire. |
| Package | What |
{
"mcpServers": {
"server-plugin": {
"command": "npx",
"args": ["-y", "tsx"],
"env": {
"CIRCULARA_BACKEND_URL": "your-value",
"CIRCULARA_TENANT_ID": "your-value",
"CIRCULARA_TOKEN": "your-value",
"CIRCULARA_SEAT_ID": "your-value",
"CIRCULARA_USER_ID": "your-value",
"CIRCULARA_MASTER_KEY": "your-value",
"CIRCULARA_AGENT_TOKEN_SECRET": "your-value"
}
}
}
}Add to claude_desktop_config.json, then restart Claude Desktop.
| Variable | Description | Required |
|---|---|---|
| CIRCULARA_BACKEND_URL | Endpoint or connection string the server talks to. | Yes |
| CIRCULARA_TENANT_ID | Configuration value read at startup. | Optional |
| CIRCULARA_TOKEN | Credential the server authenticates with. | Yes |
| CIRCULARA_SEAT_ID | Configuration value read at startup. | Optional |
| CIRCULARA_USER_ID | Configuration value read at startup. | Optional |
| CIRCULARA_MASTER_KEY | Credential the server authenticates with. | Yes |
| CIRCULARA_AGENT_TOKEN_SECRET | Credential the server authenticates with. | Yes |
Kill hallucinated APIs — version-accurate, up-to-date library documentation injected straight into context.
Microsoft's official browser automation server — drive a real browser through the accessibility tree, no screenshots needed.
GitHub's official server — repos, issues, pull requests, Actions and code security, straight from your assistant.
Issue tracking at the speed of conversation — Linear's official hosted server with OAuth and zero install.
Local repository surgery — status, diffs, commits, branches and history for any repo on disk.
Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.