Skip to main content

MCP server for the Akyla Financial Data API — cited SEC fundamentals, quotes, statements, comps & a US-equity screener, straight from primary filings.

Project description

Akyla Financial Data — MCP server

PyPI Python CI License: MIT smithery badge

Give your AI cited financial data. This is a Model Context Protocol server for the Akyla Financial Data API: as-reported US-equity fundamentals sourced straight from SEC inline-XBRL filings, plus live quotes, full financial statements, valuation comps, and a screener over ~5–8k US stocks.

Because statement values carry per-cell filing provenance (SEC accession number + XBRL fact id), the model can point at the exact 10-K/10-Q behind every number — instead of guessing.

Works in Claude Desktop, Claude Code, ChatGPT, Cursor, Codex, Cline, Zed — anything that speaks MCP.

Tools

Tool What it does
get_quote Latest price + 52-week range (optionally ~1yr of daily closes)
get_fundamentals Revenue, EBITDA, margins, EV/EBITDA, net debt, FCF + live quote, in one call
get_key_metrics Full key-metrics table across reporting periods
get_statement Income / balance sheet / cash flow, as-reported, with per-cell SEC provenance
get_notes Footnote disclosures from dimensional XBRL (annual/quarterly)
get_comps Subject company + peers with valuation multiples
screen_equities Filter ~5–8k US equities by valuation, size, growth, quality

Prompts

Ready-made workflows over the tools:

Prompt What it does
stock_snapshot Fast fundamental read — fundamentals + quote, summarized
compare_peers Relative valuation vs comparable companies
cited_statement Pull a statement with SEC provenance and cite every figure

Get a key

Free tier: 1,000 calls/month, no credit card → https://app.akyla.ai/developers

Install

Claude Code

claude mcp add akyla --env AKYLA_API_KEY=ak_live_xxx -- uvx akyla-mcp

Claude Desktop

Settings → Developer → Edit Config, then add:

{
  "mcpServers": {
    "akyla": {
      "command": "uvx",
      "args": ["akyla-mcp"],
      "env": { "AKYLA_API_KEY": "ak_live_xxx" }
    }
  }
}

(Or install the one-click Desktop Extension — see manifest.json.)

Cursor / Windsurf / Cline / Codex

Same shape as above in the client's MCP config:

{
  "mcpServers": {
    "akyla": {
      "command": "uvx",
      "args": ["akyla-mcp"],
      "env": { "AKYLA_API_KEY": "ak_live_xxx" }
    }
  }
}

ChatGPT / web clients (remote)

Run the server over HTTP and add it as a connector:

AKYLA_API_KEY=ak_live_xxx uvx akyla-mcp --transport http --port 8000
# serves MCP at http://localhost:8000/mcp

For a hosted, multi-tenant deployment, each request's key is read from the Authorization: Bearer <key> or X-Api-Key header (falling back to AKYLA_API_KEY). See smithery.yaml and Dockerfile.

Local development

uv sync
cp .env.example .env      # add your key
uv run akyla-mcp                       # stdio
uv run akyla-mcp --transport http      # remote

# inspect with the MCP Inspector
npx @modelcontextprotocol/inspector uv run akyla-mcp

Try it

"Pull Apple's latest income statement with SEC provenance and tell me FY revenue, citing the filing."

"Screen for US companies over $10B market cap with EV/EBITDA under 12, sorted by revenue growth."

Security

  • Your key stays local in stdio mode — it lives in your client's own config and is sent only to app.akyla.ai over HTTPS. It is never logged.
  • Hosting the remote (HTTP) server: each request should carry its own key via Authorization: Bearer <key> or X-Api-Key. Do not set a shared AKYLA_API_KEY on a public multi-user endpoint — anyone who can reach it would spend that key's quota. (Smithery isolates per-user config, so its hosted deploy is fine.)
  • Binding: the server binds 127.0.0.1 by default. Only set HOST=0.0.0.0 inside a container or a network you control (the Dockerfile does this).
  • Ticker input is validated against a strict whitelist before use.

Found a security issue? Email security@akyla.ai rather than opening a public issue.

License

MIT · Built by Akyla

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

akyla_mcp-0.2.0.tar.gz (116.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

akyla_mcp-0.2.0-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

Details for the file akyla_mcp-0.2.0.tar.gz.

File metadata

  • Download URL: akyla_mcp-0.2.0.tar.gz
  • Upload date:
  • Size: 116.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.10

File hashes

Hashes for akyla_mcp-0.2.0.tar.gz
Algorithm Hash digest
SHA256 812f91befaf03adee04bd2d2b867f9426625366b7e4e724f4ad3f9796d0d9632
MD5 3e69b34478e13d8393cda2adb6e2b46a
BLAKE2b-256 59bb4c2a9251bb469dec312fa731bbb0f8fc326d47b67522d14249aee4aa501b

See more details on using hashes here.

File details

Details for the file akyla_mcp-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: akyla_mcp-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 16.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.10

File hashes

Hashes for akyla_mcp-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e109d3b348f651f6f0ea2bf7f23ae352fd98b5a3459281da4e18b1bd5afc14b6
MD5 bdcee244dd69fc7197afe242e92fb1f6
BLAKE2b-256 99ff63826ad6753b50240b166aafd8fdafa70719483ed4c42f4a96a7bf8daed6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page