@stratta/mcp
v0.5.0
Published
MCP server exposing Swiss engineering norms (SIA / Eurocodes) to Claude clients via Stratta TreeRAG.
Maintainers
Readme
@stratta/mcp
MCP server exposing Swiss engineering norms (SIA / Eurocodes) to Claude clients via Stratta TreeRAG.
Requires a free Stratta account. Sign up at https://stratta.ch and generate an API key at https://stratta.ch/api-keys.
[!IMPORTANT] Your
STRATTA_API_KEYis a secret — it grants read/write access to your Stratta workspace. Never commit it to a repository, paste it into a shared/ project-scoped MCP config, or share it in logs. Prefer a user-scoped config or a shell environment variable. If a key leaks, revoke it immediately at https://stratta.ch/api-keys.
Install
Claude Code (recommended)
Add the server — no key needed up front:
claude mcp add stratta -- npx -y @stratta/mcpOn the first call, Claude Code prompts you to paste your Stratta API key. It's
validated and saved to ~/.stratta/config.json (owner-only, 0600), so you
only do this once.
Prefer to set it up ahead of time? Log in via the CLI:
npx -y @stratta/mcp login…or pass the key explicitly as an environment variable (it then takes precedence over the saved key):
claude mcp add stratta --scope user --env STRATTA_API_KEY=sk_strt_xxx -- npx -y @stratta/mcpClaude Desktop
Save your key once via the CLI:
npx -y @stratta/mcp loginThen add the server to claude_desktop_config.json (Settings → Developer →
Edit Config) — no key needed in the file:
{
"mcpServers": {
"stratta": {
"command": "npx",
"args": ["-y", "@stratta/mcp"]
}
}
}Restart Claude Desktop. The Stratta tools should appear in the MCP indicator.
Prefer to keep the key in the config instead of
~/.stratta/config.json? Add an"env": { "STRATTA_API_KEY": "sk_strt_xxx" }block to the server entry — but that file then stores the key in plaintext, so keep it private and unsynced.
Global install (optional)
npm install -g @stratta/mcpThen use "command": "stratta-mcp" instead of npx.
Configuration
The API key is resolved in this order: the STRATTA_API_KEY env var, then
~/.stratta/config.json (written by login or the first-run prompt). Other
settings come from environment variables — see .env.example.
| Variable | Required | Default | Purpose |
|---|---|---|---|
| STRATTA_API_KEY | no¹ | – | API key from https://stratta.ch. ¹If unset, the server falls back to ~/.stratta/config.json, or prompts you on first use (clients that support elicitation). |
| STRATTA_CONVEX_URL | no | Stratta prod backend | Override only if you self-host. |
Tools exposed
| Tool | Purpose |
|---|---|
| list_norms | List all available norms (code, year, title, language). |
| get_toc | Get the hierarchical table of contents for a norm. |
| get_section | Fetch the full enriched content of a section (with formulas, tables, cross-refs). |
| search_in_norm | Search sections within a norm by keyword. |
| get_figure | Retrieve a figure (image) inline (base64) to reason about diagrams. |
| get_cross_refs | List outgoing cross-references from a section to other norms. |
How agents should use it
- Call
list_normsto see what's available. - Call
get_toc(norm)to navigate the structure. - Call
get_section(norm, path)to read specific content. - Use
search_in_normwhen the section path is unknown. - Follow
crossRefsfor compound questions (e.g. SIA 261 → SIA 263 → EC). - Call
get_figurewhen the section references a figure relevant to the answer.
Troubleshooting
Authentication failed / Invalid API key
- Verify the key starts with
sk_strt_and is not revoked at https://stratta.ch/api-keys. - Check the env var is reaching the process:
echo $STRATTA_API_KEY(or$env:STRATTA_API_KEYon Windows PowerShell). - If you copied from the UI, make sure no leading/trailing whitespace was added.
ECONNREFUSED / network errors
- Confirm outbound HTTPS to
*.convex.cloudis allowed by your firewall/VPN. - Try
curl -I https://stratta.chto verify general internet reachability.
Tools don't appear in Claude
- Restart your Claude client after editing the config.
- Check the MCP server logs (Claude Code:
claude mcp logs stratta; Claude Desktop:~/Library/Logs/Claude/mcp-server-stratta.logon macOS). - Make sure your Node.js version is
>=20(node --version).
Rate-limited
- Each user can create up to 50 active keys and 20 new keys per 24h. Revoke unused keys in the dashboard.
License
Proprietary — © SmartFlow (Hugo Gebel). All rights reserved. This package is the official Stratta MCP client; redistribution, modification, or reuse of the source is not permitted without prior written consent.
