---
name: axiora-connect
description: Connect an agent to Axiora (Japanese company filings data, each reported figure linked to its filing) over MCP or REST, then run one real query end to end.
---

# Connect to Axiora

Axiora serves records from Japanese company filings: financials, ownership, capital, earnings, governance and filing text for listed companies, read from EDINET and TDnet. Rows that come from one filing carry that filing's id, so an answer can be checked against the source document; rows that combine filings say so in `meta.caveats`.

This file gets an agent connected. Once connected, read https://axiora.dev/skill.md for how to resolve identifiers, page, cite and handle errors.

## 1. Get a key

The user signs in at https://axiora.dev/en/login. A free key is created on first sign-in and shown once on the dashboard. Keys start with `ax_live_`. Ask the user to put it in an environment variable rather than pasting it into chat:

```bash
export AXIORA_API_KEY=ax_live_...
```

What each plan includes: https://axiora.dev/pricing.md. A free key reads company search, identifiers, financials and filings over REST. The MCP server needs a Developer or Institutional key.

## 2. Connect over MCP

Endpoint: `https://api.axiora.dev/mcp` (Streamable HTTP, read-only tools). Authenticate with the key as a Bearer token. Clients that sign in through OAuth instead open an Axiora page where the user enters their key once.

### Claude Code

```bash
claude mcp add --transport http axiora \
  https://api.axiora.dev/mcp \
  --header "Authorization: Bearer ax_live_YOUR_KEY"
```

### Cursor

In `~/.cursor/mcp.json`, or `.cursor/mcp.json` in the project:

```json
{
  "mcpServers": {
    "axiora": {
      "url": "https://api.axiora.dev/mcp",
      "headers": { "Authorization": "Bearer ${env:AXIORA_API_KEY}" }
    }
  }
}
```

### Codex

In `~/.codex/config.toml`:

```toml
[mcp_servers.axiora]
url = "https://api.axiora.dev/mcp"
bearer_token_env_var = "AXIORA_API_KEY"
```

### VS Code

In `.vscode/mcp.json`. VS Code asks for the key on first start:

```json
{
  "inputs": [
    { "type": "promptString", "id": "axiora-key", "description": "Axiora API key", "password": true }
  ],
  "servers": {
    "axiora": {
      "type": "http",
      "url": "https://api.axiora.dev/mcp",
      "headers": { "Authorization": "Bearer ${input:axiora-key}" }
    }
  }
}
```

### Gemini CLI

In `~/.gemini/settings.json`, or `.gemini/settings.json` in the project:

```json
{
  "mcpServers": {
    "axiora": {
      "httpUrl": "https://api.axiora.dev/mcp",
      "headers": { "Authorization": "Bearer ax_live_YOUR_KEY" }
    }
  }
}
```

### Hermes Agent

In `~/.hermes/config.yaml`:

```yaml
mcp_servers:
  axiora:
    url: "https://api.axiora.dev/mcp"
    headers:
      Authorization: "Bearer ax_live_YOUR_KEY"
```

### Other clients

Any MCP client that speaks Streamable HTTP: point it at `https://api.axiora.dev/mcp` and send `Authorization: Bearer <key>` on every request. Setup notes: https://axiora.dev/en/docs/mcp.

## 3. Or call REST directly

Base URL: `https://api.axiora.dev`. Send the key on every request:

```bash
curl -H "Authorization: Bearer $AXIORA_API_KEY" "https://api.axiora.dev/v1/identifiers?id=7203"
```

Every response is `{"data": ..., "meta": ...}`. Endpoint index: https://axiora.dev/llms.txt. Machine-readable reference: https://axiora.dev/openapi.json.

## 4. Run one real query end to end

Resolve the identifier first, then read data through the link it returns.

1. Resolve Toyota by its securities code:

   ```bash
   curl -H "Authorization: Bearer $AXIORA_API_KEY" "https://api.axiora.dev/v1/identifiers?id=7203"
   ```

   The response names the company (`name`, `name_en`, `edinet_code`, `securities_code`) and, under `links`, the endpoint for each role it holds.

2. Read five years of financial statements:

   ```bash
   curl -H "Authorization: Bearer $AXIORA_API_KEY" "https://api.axiora.dev/v1/companies/7203/financials?years=5"
   ```

   Each row carries `source_doc_id`. `GET /v1/filings/{doc_id}` returns that filing.

3. With an Institutional key, read who holds 5% or more and how each position moved:

   ```bash
   curl -H "Authorization: Bearer $AXIORA_API_KEY" "https://api.axiora.dev/v1/companies/7203/ownership/trajectories"
   ```

   A key without the plan gets `403 TIER_REQUIRED`. Tell the user; do not retry.

Report the answer with the filing ids it came from. Quote `meta.request_id` if anything looks wrong.

## 5. Next

- Usage, paging, replay and the error table: https://axiora.dev/skill.md
- Full reference as text: https://axiora.dev/llms-full.txt
- This site as markdown: append `.md` to a page URL (for example https://axiora.dev/en/pricing.md), or request the page with `Accept: text/markdown`.
