Menu: MCP server

Get started

MCP server

Build, test, publish and call Scalaix endpoints from Claude Code, Codex, Cursor, VS Code and other MCP clients.

Scalaix runs a remote Model Context Protocol server at:

https://www.scalaix.com/mcp

Connect your coding assistant to it and the assistant can work in your Scalaix account: list your projects, draft an endpoint from a plain-language description, run test calls, publish a version, create an API key and write the code that calls the endpoint, in your repository's language. You sign in with your Scalaix account in the browser (OAuth); there's no key to paste.

What it can do

ToolWhat it doesScope
whoamiThe account, team, projects and scopes of this connection
list_modelsModels and pricesprojects:read
list_projects, create_projectProjects of the teamprojects:read, projects:write
list_collections, create_collectionCollections of a projectprojects:read, projects:write
list_endpoints, get_endpointEndpoints and their full definitionsprojects:read
draft_endpointDrafts inputs, output schema and prompts from a description (not saved)projects:write
create_endpoint, update_endpointSaves an endpoint in the collection's draftprojects:write
test_endpointRuns a saved endpoint or an unsaved definition once, like the console's Test panelprojects:write
publish_collection, list_versionsPublishes the draft as the next versionpublish, projects:read
get_integration_codeRunnable code for an endpoint or the gateway, with typed request and response models for TypeScript, Python, Go, Java and C#projects:read
get_docsA collection's API docs as Markdownprojects:read
create_key, list_keysAPI keys (a new key is shown once)keys
get_usage, get_logsUsage and the request logusage:read

Project, collection and endpoint arguments take slugs (acme, support, classify-ticket). Tools that write are marked as such for your client, so it can ask before running them. Drafting and test runs call a model and use your team's credits, like they do in the console.

There's also a prompt, add_scalaix_endpoint, that walks the assistant through adding an AI endpoint to the code you have open: see the guide Add an AI API to your app from your editor.

Connect

The first time a client connects, it opens Scalaix in your browser. Sign in, pick the team it may work in, all projects or only some, and what it may do. Then choose Allow access. See OAuth and connected apps for what each permission means.

Claude Code

claude mcp add --transport http scalaix https://www.scalaix.com/mcp

Then run /mcp in Claude Code, choose scalaix and Authenticate. Add --scope project to share the server with your team through .mcp.json (each person still signs in with their own account).

Claude Desktop and claude.ai

Open Settings → Connectors, choose Add custom connector, name it Scalaix and enter https://www.scalaix.com/mcp. Choose Connect and approve access in the window that opens. On Team and Enterprise plans an owner may need to add the connector for the organization first.

Codex

Add the server to ~/.codex/config.toml:

~/.codex/config.toml
[mcp_servers.scalaix]
url = "https://www.scalaix.com/mcp"
tool_timeout_sec = 180   # drafting an endpoint can take a minute or two

or run codex mcp add scalaix --url https://www.scalaix.com/mcp, then sign in with codex mcp login scalaix. Option names change between Codex releases: see the Codex docs if this doesn't work.

Cursor

.cursor/mcp.json
{
  "mcpServers": {
    "scalaix": { "url": "https://www.scalaix.com/mcp" }
  }
}

Cursor shows Needs login next to the server in Settings → MCP: choose it to sign in.

VS Code

.vscode/mcp.json
{
  "servers": {
    "scalaix": { "type": "http", "url": "https://www.scalaix.com/mcp" }
  }
}

Start the server from the file (or MCP: List Servers) and allow the sign-in when VS Code asks.

Clients without remote MCP: the CLI

For clients that only run local (stdio) servers, the Scalaix CLI bridges to the remote server with the token it stored at sign-in:

npm install -g scalaix
scalaix login            # or: scalaix login --device on a machine without a browser
{
  "mcpServers": {
    "scalaix": { "command": "scalaix", "args": ["mcp"] }
  }
}

Good to know

  • One team per connection. A connection works in the team you chose when you approved it. Connect again to use another team.
  • Keys stay out of your code. create_key returns a new key once. The assistant is told to put it in SCALAIX_API_KEY in a git-ignored .env or your secret manager; generated code always reads it from the environment.
  • Missing permission? A tool that needs a scope you didn't allow answers with which one is missing. Reconnect (in Claude Code: /mcp → scalaix → Re-authenticate) and leave it ticked.
  • Disconnect any client in the console: account menu → Connected apps.

For client developers

The server speaks MCP Streamable HTTP (protocol 2025-06-18, older 2025-03-26 clients work too), stateless with JSON responses: send JSON-RPC with POST; GET answers 405. Requests without a valid token get 401 with WWW-Authenticate: Bearer resource_metadata="https://www.scalaix.com/.well-known/oauth-protected-resource". Discovery:

URL
/.well-known/oauth-protected-resource (also …/mcp)Protected resource metadata (RFC 9728)
/.well-known/oauth-authorization-serverAuthorization server metadata (RFC 8414)
/api/oauth/registerDynamic client registration (RFC 7591), public clients only
/oauth/authorizeAuthorization code with PKCE (S256)
/api/oauth/tokenTokens; refresh tokens rotate on every use
/api/oauth/device_authorizationDevice flow (RFC 8628), approved at /device
/api/oauth/revokeRevocation (RFC 7009)