hub-equitySAFE
Hub-Equity's official MCP server.
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Standardized XBRL financial data for LLM agents. A Model Context Protocol (MCP) server that exposes normalized financial facts from US SEC (EDGAR) and European ESEF filings to Claude Desktop, Cursor, and any MCP-aware client.
Hub-Equity serves standardized European ESEF filings alongside US SEC data through one consistent hub-concept vocabulary, so an agent can ask for REVENUE or TOTAL_ASSETS and get a comparable, source-linked value whether the issuer files with the SEC or under ESEF.
Maturity. The public REST API behind this connector runs in production and powers Hub-Equity's own chat. The package follows Semantic Versioning; it keeps the Beta classifier while its install base is young.
Why
- One vocabulary across two regimes. SEC us-gaap and ESEF ifrs-full concepts
are mapped to a single set of standardized hub codes, so cross-issuer and cross-taxonomy comparison works out of the box.
- Every number is source-linked. Facts carry their filing, period, and
provenance so an agent can cite rather than guess.
- Restatement-aware. Explicit amendments and silent restatements (a figure a
later filing reprinted differently, with no amendment filed), each change with the filing that made it.
- Read-only and closed-world. Every tool advertises
readOnlyHint=true,
idempotentHint=true, destructiveHint=false, openWorldHint=false per the MCP spec, so clients can reason about safety and caching without introspection.
- No database credentials. The published package talks only to the public
REST API (https://api.hub-equity.com) over HTTPS. It never ships or requires a database key.
Install
pipx run hub-equity-mcp
pipx run (or uvx hub-equity-mcp) fetches and starts the server in an isolated environment; pip install hub-equity-mcp works too. Requires Python 3.12 or newer.
Authentication and access
The server ta
b181151333e3OBSERVED · 2026-10-13Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.
claude mcp add hub-equity-mcp --env HUBEQUITY_API_KEY=${HUBEQUITY_API_KEY} -- uvx hub-equity-mcp==2.0.0Trust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- declared (5 observation(s))
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (6)
assert "/" not in path_segment("x/../../me/plan?")assert "?" not in path_segment("x/../../me/plan?")assert get_calculation_tree("x/../../me/plan?") is Noneassert get_fact("x/../../me/plan?", "REVENUE", 2025, "FY") is Nonefor url in ("http://localhost:8000", "http://127.0.0.1:8080"):Gates applied: no_behavioural_pass.
b181151333e3full audit observations/trust-audit/mcp-server/hub-equity__hub-equity-mcp.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-13 | b181151333e3 | SAFE | B | 89 | first audit |
Questions
What is the hub-equity MCP server?
Hub-Equity's official MCP server.
Is hub-equity safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does hub-equity need?
It reads HUBEQUITY_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.
How does hub-equity run?
It speaks stdio, so it runs as a local process your client starts. It is published on PyPI as hub-equity-mcp.
How current is this page?
The grade is for one exact copy of the source (b181151333e3), read on 2026-10-13. The repository is watched and re-audited when it changes.