MCP connect

Connect agents to Singapore law through laws.sg.

The MCP endpoint validates a laws.sg personal token, then relays legal-search tool traffic to the Arturio production MCP service.

Token

Create a personal MCP token from your account. Tokens are shown once and can be revoked any time.

Manage tokens

Endpoint

https://sg-arturio.cancode.codes/api/mcp
{
  "mcpServers": {
    "laws.sg": {
      "type": "streamable-http",
      "url": "https://sg-arturio.cancode.codes/api/mcp",
      "headers": {
        "Authorization": "Bearer laws_sg_REPLACE_WITH_YOUR_TOKEN"
      }
    }
  }
}

Client setup

Codex CLI

Use an environment-backed bearer token so the token does not live in the config file.

export LAWS_SG_MCP_TOKEN=laws_sg_REPLACE_WITH_YOUR_TOKEN
codex mcp add laws-sg --url https://sg-arturio.cancode.codes/api/mcp --bearer-token-env-var LAWS_SG_MCP_TOKEN

Claude Desktop or Claude CLI

Add the remote HTTP server with an Authorization header.

export LAWS_SG_MCP_TOKEN=laws_sg_REPLACE_WITH_YOUR_TOKEN
claude mcp add --transport http laws-sg https://sg-arturio.cancode.codes/api/mcp --header "Authorization: Bearer ${LAWS_SG_MCP_TOKEN}"

Cursor

Use mcp.json with a streamable HTTP server and a token environment variable.

{
  "mcpServers": {
    "laws.sg": {
      "type": "streamable-http",
      "url": "https://sg-arturio.cancode.codes/api/mcp",
      "headers": {
        "Authorization": "Bearer ${LAWS_SG_MCP_TOKEN}"
      }
    }
  }
}

VS Code MCP

Prompt for the token at runtime and pass it as an Authorization header.

{
  "inputs": [
    {
      "type": "promptString",
      "id": "laws-sg-mcp-token",
      "description": "laws.sg MCP token",
      "password": true
    }
  ],
  "servers": {
    "laws.sg": {
      "type": "http",
      "url": "https://sg-arturio.cancode.codes/api/mcp",
      "headers": {
        "Authorization": "Bearer ${input:laws-sg-mcp-token}"
      }
    }
  }
}