GraphSheets bronze
mcp.graphsheets.ai
“Reads financial models kept in GraphSheets: lists them, gives an overview, finds rows, returns evaluated values, explains how a figure is worked out and runs the model's checks. Read-only; answers are immediate.
https://mcp.graphsheets.ai/.well-known/agent-card.json its cardwe checked this the operator says this
Verified by agenttru.st
Everything here is a check agenttru.st performed itself. Assurance, protocol, hosting and freshness are in the card above and are not repeated.
- Certificate
-
Issued by Google Trust Services
domain-validated
Valid until 2 Jan 2027 as of our check on 10 Nov 2026.Control of the hostname was checked; nothing about who operates it.Key RSA 2048, signed SHA256-RSA, issued via WR3 under GTS Root R1 β classical, as every publicly trusted certificate is today.
Names on this certificate (1)
mcp.graphsheets.ai. - Connection
- TLS 1.3 Β· X25519MLKEM768 β post-quantum hybrid key exchange, agreed with our checker on 10 Nov 2026. What this means
- DANE / TLSA
- Not verified (TLSA query returned RCodeNameError)
- Discovery
-
Well-known document
This host also publishes an ARD catalog (
/.well-known/ai-catalog.json) declaring 2 resources. The catalog's entries are the publisher's claims, not something agenttru.st verified. - First seen
- 3 Nov 2026
View verification details
- Assurance
- bronze Bronze β agent card fetched over HTTPS with a valid certificate
- Protocols
- A2A verified by handshake or card fetch, not merely advertised
- Hosted in
- πΊπΈ US Β· Google LLC (AS15169)
- Last checked
- 4d ago
What this agent says it can do
Declared in the agent's own card. agenttru.st has not tested whether it completes any of these tasks β the operator of mcp.graphsheets.ai controls every word below.
List models
The models this token can see: uid, title, head hash, when last changed, and the verification rung each is on. Send a data part {"skill": "list-models", "arguments": {β¦}}; the arguments are the `model_list` tool's.
- {"skill":"list-models","arguments":{}}
Model overview
The model at a glance: title, axis, scenarios, sections with node counts, ledgers, whether uncertainty is declared, the verification rung, check status per scenario and lint counts. Call this first. Send a data part {"skill": "model-overview", "arguments": {β¦}}; the arguments are the `model_overview` tool's.
- {"skill":"model-overview","arguments":{"model":"model_β¦"}}
Search a model
Find nodes by a word in their name, title, description, source, unit or formula, optionally restricted to a kind (input, calculated, constant, check, ledger). Returns declarations, not values. A kind with no query lists every node of that kind. Send a data part {"skill": "search-model", "arguments": {β¦}}; the arguments are the `model_search` tool's.
- {"skill":"search-model","arguments":{"model":"model_β¦","query":"revenue"}}
Read values
Evaluated values for named nodes across the axis in a scenario, actuals overriding where present. Errors appear as their code (#REF, #DIV/0). A node whose title carries references (`{{fiscal.royalty_threshold}}`) has it worked out in that scenario under `titles`, as the reader sees it. Ask for the nodes you need, not the model. Send a data part {"skill": "read-values", "arguments": {β¦}}; the arguments are the `values_get` tool's.
- {"skill":"read-values","arguments":{"model":"model_β¦","nodes":["income.revenue"],"scenario":"base"}}
Explain a figure
Why a value is what it is: the evaluation trace behind one node in one period β its formula, each input's value and whether it came from a formula, an input, an actual override or an error. `depth` follows the trail further. Send a data part {"skill": "explain-figure", "arguments": {β¦}}; the arguments are the `explain` tool's.
- {"skill":"explain-figure","arguments":{"model":"model_β¦","node":"income.profit","period":"2026-03"}}
Verify a model
Run the verification ladder on the model as it stands: validation issues, every lint finding with its rule and node, every check per scenario with its failing periods, the rung, and `connectivity` β the inputs nothing reads, the inputs with no values, the calculated rows nothing reads or shows, the ledger columns no formula reads, and the rows of reported history nothing reads β which is whether the graph runs from inputs through formulas to outputs. `severalRates` lists any IRR whose cashflows have more than one rate, with every rate and the one the row shows. A row named as the model's answer, one `risk_set` reports, one a statistic asks about and one a scoped check covers are all read or shown, so none of them is listed. The authoritative answer to 'what is wrong'. Send a data part {"skill": "verify-model", "arguments": {β¦}}; the arguments are the `verify` tool's.
- {"skill":"verify-model","arguments":{"model":"model_β¦","onlyFailing":true}}
agenttru.st compared this card's skill list with every other listing's: 1 other listing declares an identical one, ignoring case, spacing and each card's own hostname. See all 2. That says the cards' text is the same, not who runs them.
What its catalog declares
From the ARD catalog this host publishes at
/.well-known/ai-catalog.json. The operator controls every entry; agenttru.st
verified that the catalog exists and parses, and nothing about what the entries say.
urn:air:graphsheets.ai:mcp:graphsheets
https://mcp.graphsheets.ai/mcp/server-cardurn:air:graphsheets.ai:pricing:graphsheets
https://graphsheets.ai/api/v1/billing/pricesTechnical agent card
Copied from the agent's card. The operator controls these values; agenttru.st has not verified them.
- Provider
- GraphSheets β what this agent says about itself; other agents claiming the same provider are not thereby related
- Protocol
- a2a
- Version
- 0.1.0
- Auth schemes
- graphsheets
- Card completeness
- complete all eight fields required by a2a.proto v1.0
View all card details
- Capabilities
- extendedAgentCard pushNotifications streaming
- Agent card
- https://mcp.graphsheets.ai/.well-known/agent-card.json
Operate this agent and would rather not be listed? Request removal.