Geode
REMOTE · MCP.GEODEAPPS.COM
Use the Geode blockchain's apps: marketplace, social, surveys, messaging, DNS and GEODE transfers.
Available components
Last scanned (14 hours ago)
Scores higher than 47% of remote servers
Reachable. Last reached 17 Oct 2026.
Category Crypto and Web3
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (geode_dns_transfer). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability67
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 21504 tokens (~155/item across 138 items; 138 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management0
- Stability not yet verified: not enough scan history yet (needs a 30-day window).Unverified
Tool Coverage99
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 96% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- All 22 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
- An AI judge read all 139 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Unverified: 1 category
A category scored 0 because we could not verify it: authentication we do not have, an unreachable endpoint, or not enough scan history. We only credit what we can confirm.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 17 Oct 26 65
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 17 Oct 2026 · Probed https://mcp.geodeapps.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_256_GCM_SHA384 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=mcp.geodeapps.com | CN=ZeroSSL RSA DV SSL CA 2,O=ZeroSSL GmbH,C=AT | 21 Sept 2026 | 20 Dec 2026 | RSA 2048 | SHA256-RSA | df97a32d1b10653b3b39c8627719c14 |
| SANs: mcp.geodeapps.com | ||||||
| CN=ZeroSSL RSA DV SSL CA 2,O=ZeroSSL GmbH,C=AT (CA) | CN=Sectigo Public Server Authentication Root R46,O=Sectigo Limited,C=GB | 24 Sept 2025 | 23 Sept 2035 | RSA 3072 | SHA384-RSA | d0a908255f8e50e5f3396d1114702a37 |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of mcp.geodeapps.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| geodeapps.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| content-security-policy | default-src 'none'; frame-ancestors 'none' |
| x-content-type-options | nosniff |
| referrer-policy | no-referrer |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://mcp.geodeapps.com/mcp | Verified | 200 | |
| http (plaintext) | http://mcp.geodeapps.com/mcp | HTTPS enforced |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
geode_accept_terms Accept the Terms of Use ~114
Record your signed acceptance of the current Terms of Use (required once per Terms version, before your first write). Produce the signature with geode-local-signer accept_terms.
| Name | Type | Req | Description |
|---|---|---|---|
| signature | string | yes | Signature from geode-local-signer accept_terms |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
| timestamp | string | yes | ISO 8601 timestamp that was signed (from accept_terms) |
No output schema declared.
No examples provided.
geode_account_info Account info ~53
Read-only: whether an address exists on-chain, its free/reserved/frozen balance, the existential deposit (minimum balance), and its nonce.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Geode account address (SS58) |
No output schema declared.
No examples provided.
geode_agent_status Agent status ~50
Read-only: the current Terms of Use (and whether an address has accepted them), the spending caps, and the address's pending intents.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | Account address (SS58) |
No output schema declared.
No examples provided.
geode_balances_transfer Send GEODE ~212
Send GEODE from `signer` to another account (keep-alive transfer: your account can never be emptied below the minimum balance). Irreversible, so the first call returns a confirm_token and the real cost; call again with it to get the intent. Sign with geode-local-signer, restating the recipient and amount in `expect`, then submit with geode_submit_intent. Sending to a new address creates that account (at least 1 GEODE). Counts toward the per-transaction and rolling 24-hour caps.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | – | yes | Amount in GEODE as a decimal string (e.g. "1.25"), or {"raw": "<planck>"} |
| confirm_token | string | – | Token from the first call |
| dest | string | yes | Recipient account address (SS58) |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
No output schema declared.
No examples provided.
geode_dns_get_address DNS: get address ~88
Look up the account address a Geode DNS name points to. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
| Name | Type | Req | Description |
|---|---|---|---|
| caller | string | – | Optional account address (SS58) to run the query as |
| name | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
No output schema declared.
No examples provided.
geode_dns_get_owner DNS: get owner ~87
Look up the account that owns a Geode DNS name. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
| Name | Type | Req | Description |
|---|---|---|---|
| caller | string | – | Optional account address (SS58) to run the query as |
| name | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
No output schema declared.
No examples provided.
geode_dns_register DNS: register ~120
Register a Geode DNS name to `signer`. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
No output schema declared.
No examples provided.
geode_dns_set_address DNS: set address ~136
Point a DNS name you own at an account address. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| name | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| new_address | string | yes | Geode account address (SS58) |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
No output schema declared.
No examples provided.
geode_dns_transfer DNS: transfer ~174
Transfer ownership of a DNS name you own to another account. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent. Irreversible: the first call returns a confirm_token; call again with it to proceed.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm_token | string | – | Token from the first call, to confirm this irreversible action |
| name | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| new_owner | string | yes | Geode account address (SS58) |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
No output schema declared.
No examples provided.
geode_exchange_browse_all_listings Exchange: browse all listings ~135
Browse all public listings on the Geode private coin exchange (offer coin, asking coin, price, payment method, inventory, location). Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
| Name | Type | Req | Description |
|---|---|---|---|
| caller | string | – | Optional account address (SS58) to run the query as |
| limit | integer | – | Items to return (default 50, max 200) |
| offset | integer | – | Items to skip (default 0) |
No output schema declared.
No examples provided.
geode_exchange_edit_listing Exchange: edit listing ~260
Edit one of your exchange listings (price, method, inventory, location) or hide it. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| city | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| country | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| hide | boolean | yes | – |
| inventory | – | yes | Amount in GEODE as a decimal string (e.g. "1.25"), or {"raw": "<planck>"} |
| listing_id | string | yes | 0x-prefixed 32-byte hex id |
| method | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| price | – | yes | Amount in GEODE as a decimal string (e.g. "1.25"), or {"raw": "<planck>"} |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
No output schema declared.
No examples provided.
geode_exchange_new_listing Exchange: new listing ~294
Create a listing on the Geode private coin exchange: the coin you offer, the coin you want, price, payment method, inventory and location. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| asking_coin | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| city | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| country | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| inventory | – | yes | Amount in GEODE as a decimal string (e.g. "1.25"), or {"raw": "<planck>"} |
| method | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| offer_coin | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| price | – | yes | Amount in GEODE as a decimal string (e.g. "1.25"), or {"raw": "<planck>"} |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
No output schema declared.
No examples provided.
geode_exchange_view_my_listings Exchange: view my listings ~63
List the exchange listings created by `caller`. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
| Name | Type | Req | Description |
|---|---|---|---|
| caller | string | – | Optional account address (SS58) to run the query as |
No output schema declared.
No examples provided.
geode_get_intent Get an intent ~44
Read-only: the status of an intent (pending, submitting, done, failed) and, once submitted, its result.
| Name | Type | Req | Description |
|---|---|---|---|
| intent_id | string | yes | – |
No output schema declared.
No examples provided.
geode_lifeandwork_endorse_claim LifeAndWork: endorse claim ~119
Endorse another account's Life and Work claim. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| claim_id | string | yes | 0x-prefixed 32-byte hex id |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
No output schema declared.
No examples provided.
geode_lifeandwork_get_endorsers LifeAndWork: get endorsers ~139
List the accounts that endorsed a Life and Work claim. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
| Name | Type | Req | Description |
|---|---|---|---|
| caller | string | – | Optional account address (SS58) to run the query as |
| claim_id | string | yes | 0x-prefixed 32-byte hex id |
| limit | integer | – | Items to return (default 50, max 200) |
| offset | integer | – | Items to skip (default 0) |
No output schema declared.
No examples provided.
geode_lifeandwork_get_full_details LifeAndWork: get full details ~89
Get full details of one Life and Work claim, including its endorsers. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
| Name | Type | Req | Description |
|---|---|---|---|
| caller | string | – | Optional account address (SS58) to run the query as |
| claim_id | string | yes | 0x-prefixed 32-byte hex id |
No output schema declared.
No examples provided.
geode_lifeandwork_get_matching_claims LifeAndWork: get matching claims ~205
Search Life and Work claims of one claim type by up to three keywords. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
| Name | Type | Req | Description |
|---|---|---|---|
| caller | string | – | Optional account address (SS58) to run the query as |
| claim_type | integer | yes | – |
| keywords1 | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| keywords2 | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| keywords3 | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| limit | integer | – | Items to return (default 50, max 200) |
| offset | integer | – | Items to skip (default 0) |
No output schema declared.
No examples provided.
geode_lifeandwork_get_resume LifeAndWork: get resume ~152
Get an account's Life and Work resume: all its claims (expertise, work history, education, good deeds, intellectual property) with endorsements. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results). Results are paginated with `offset` and `limit` (default 50, max 200).
| Name | Type | Req | Description |
|---|---|---|---|
| caller | string | – | Optional account address (SS58) to run the query as |
| limit | integer | – | Items to return (default 50, max 200) |
| offset | integer | – | Items to skip (default 0) |
| owner | string | yes | Geode account address (SS58) |
No output schema declared.
No examples provided.
geode_lifeandwork_make_claim_education LifeAndWork: make claim education ~163
Add an education claim to your Life and Work resume (description or keywords, plus an optional https link). Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| keywords_or_description | string | yes | UTF-8 text, at most 2048 bytes; no control or invisible characters |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
| url_link_to_see_more | string | yes | https:// URL or empty string, at most 512 bytes |
No output schema declared.
No examples provided.
geode_lifeandwork_make_claim_expertise LifeAndWork: make claim expertise ~163
Add an expertise claim to your Life and Work resume (description or keywords, plus an optional https link). Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| keywords_or_description | string | yes | UTF-8 text, at most 2048 bytes; no control or invisible characters |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
| url_link_to_see_more | string | yes | https:// URL or empty string, at most 512 bytes |
No output schema declared.
No examples provided.
geode_lifeandwork_make_claim_gooddeed LifeAndWork: make claim gooddeed ~166
Add a good-deed claim to your Life and Work resume (description or keywords, plus an optional https link). Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| keywords_or_description | string | yes | UTF-8 text, at most 2048 bytes; no control or invisible characters |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
| url_link_to_see_more | string | yes | https:// URL or empty string, at most 512 bytes |
No output schema declared.
No examples provided.
geode_lifeandwork_make_claim_intellectualproperty LifeAndWork: make claim intellectualproperty ~187
Add an intellectual-property claim to your Life and Work resume, including the hash of your IP file. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| hash_your_intellectual_property_file_here | string | yes | 0x-prefixed 32-byte hex id |
| keywords_or_description | string | yes | UTF-8 text, at most 2048 bytes; no control or invisible characters |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
| url_link_to_see_more | string | yes | https:// URL or empty string, at most 512 bytes |
No output schema declared.
No examples provided.
geode_lifeandwork_make_claim_workhistory LifeAndWork: make claim workhistory ~164
Add a work-history claim to your Life and Work resume (description or keywords, plus an optional https link). Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| keywords_or_description | string | yes | UTF-8 text, at most 2048 bytes; no control or invisible characters |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
| url_link_to_see_more | string | yes | https:// URL or empty string, at most 512 bytes |
No output schema declared.
No examples provided.
geode_lifeandwork_show_or_hide_claim LifeAndWork: show or hide claim ~133
Show or hide one of your Life and Work claims on your resume. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| claim_id | string | yes | 0x-prefixed 32-byte hex id |
| set_to_show | boolean | yes | – |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
No output schema declared.
No examples provided.
geode_market_add_a_product Market: add a product ~453
List a product (digital or physical) in your store: title, price, brand, category, description, inventory, media links, delivery details, and an optional affiliate (zeno) percentage. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| brand | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| category | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| delivery_info | string | yes | UTF-8 text, at most 2048 bytes; no control or invisible characters |
| description | string | yes | UTF-8 text, at most 2048 bytes; no control or invisible characters |
| digital | boolean | yes | – |
| digital_file_url | string | yes | https:// URL or empty string, at most 512 bytes |
| inventory | string | yes | Non-negative integer as a string of digits |
| more_info_link | string | yes | https:// URL or empty string, at most 512 bytes |
| photo_or_youtube_link1 | string | yes | https:// URL or empty string, at most 512 bytes |
| photo_or_youtube_link2 | string | yes | https:// URL or empty string, at most 512 bytes |
| photo_or_youtube_link3 | string | yes | https:// URL or empty string, at most 512 bytes |
| price | – | yes | Amount in GEODE as a decimal string (e.g. "1.25"), or {"raw": "<planck>"} |
| product_location | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
| title | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| zeno_percent | string | yes | Non-negative integer as a string of digits |
No output schema declared.
No examples provided.
geode_market_add_a_service Market: add a service ~381
List a service (online or in person) in your store: title, price, category, description, inventory, media and booking links, and an optional affiliate (zeno) percentage. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| booking_link | string | yes | https:// URL or empty string, at most 512 bytes |
| category | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| description | string | yes | UTF-8 text, at most 2048 bytes; no control or invisible characters |
| inventory | string | yes | Non-negative integer as a string of digits |
| online | boolean | yes | – |
| photo_or_youtube_link1 | string | yes | https:// URL or empty string, at most 512 bytes |
| photo_or_youtube_link2 | string | yes | https:// URL or empty string, at most 512 bytes |
| photo_or_youtube_link3 | string | yes | https:// URL or empty string, at most 512 bytes |
| price | – | yes | Amount in GEODE as a decimal string (e.g. "1.25"), or {"raw": "<planck>"} |
| service_location | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
| title | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| zeno_percent | string | yes | Non-negative integer as a string of digits |
No output schema declared.
No examples provided.
geode_market_add_item_to_cart Market: add item to cart ~140
Add a product or service (by id) to your Marketplace cart with a quantity. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| add_item_id | string | yes | 0x-prefixed 32-byte hex id |
| quantity | string | yes | Non-negative integer as a string of digits |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
No output schema declared.
No examples provided.
geode_market_bookmark_a_store Market: bookmark a store ~109
Bookmark a seller's store. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| seller | string | yes | Geode account address (SS58) |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
No output schema declared.
No examples provided.
geode_market_checkout_cart Market: checkout cart ~198
Buy everything in your cart. `value` must be at least the cart total (see geode_market_view_my_cart). Digital products and services are delivered, and the seller paid, immediately; physical products wait for the seller to ship and deliver. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm_token | string | – | Token from the first call, to confirm this irreversible action |
| deliver_to_address | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
| value | – | yes | GEODE to send with this call (explicit; never inferred) |
No output schema declared.
No examples provided.
geode_market_delete_a_product Market: delete a product ~155
Delete one of your products from your store. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent. Irreversible: the first call returns a confirm_token; call again with it to proceed.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm_token | string | – | Token from the first call, to confirm this irreversible action |
| product_id_to_delete | string | yes | 0x-prefixed 32-byte hex id |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
No output schema declared.
No examples provided.
geode_market_delete_a_service Market: delete a service ~155
Delete one of your services from your store. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent. Irreversible: the first call returns a confirm_token; call again with it to proceed.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm_token | string | – | Token from the first call, to confirm this irreversible action |
| service_id_to_delete | string | yes | 0x-prefixed 32-byte hex id |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
No output schema declared.
No examples provided.
geode_market_deny_resolution_request Market: deny resolution request ~157
Seller: deny a buyer's problem report on an order. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent. Irreversible: the first call returns a confirm_token; call again with it to proceed.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm_token | string | – | Token from the first call, to confirm this irreversible action |
| order_id | string | yes | 0x-prefixed 32-byte hex id |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
No output schema declared.
No examples provided.
geode_market_go_to_store Market: go to store ~82
View a seller's public Marketplace store: seller profile, products and services. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
| Name | Type | Req | Description |
|---|---|---|---|
| caller | string | – | Optional account address (SS58) to run the query as |
| seller | string | yes | Geode account address (SS58) |
No output schema declared.
No examples provided.
geode_market_issue_refund Market: issue refund ~186
Seller: resolve a reported problem by refunding the buyer. `value` is the refund you send from your own balance. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent. Irreversible: the first call returns a confirm_token; call again with it to proceed.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm_token | string | – | Token from the first call, to confirm this irreversible action |
| order_id | string | yes | 0x-prefixed 32-byte hex id |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
| value | – | yes | GEODE to send with this call (explicit; never inferred) |
No output schema declared.
No examples provided.
geode_market_issue_replacement Market: issue replacement ~146
Seller: resolve a reported problem by sending a replacement (with new tracking information). Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| order_id | string | yes | 0x-prefixed 32-byte hex id |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
| tracking | string | yes | UTF-8 text, at most 2048 bytes; no control or invisible characters |
No output schema declared.
No examples provided.
geode_market_message_the_buyer Market: message the buyer ~166
Seller: send a message about an order to its buyer. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| message | string | yes | UTF-8 text, at most 2048 bytes; no control or invisible characters |
| order_id | string | yes | 0x-prefixed 32-byte hex id |
| photo_or_youtube_url | string | yes | https:// URL or empty string, at most 512 bytes |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
No output schema declared.
No examples provided.
geode_market_message_the_seller Market: message the seller ~166
Send a message about one of your orders to its seller. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| message | string | yes | UTF-8 text, at most 2048 bytes; no control or invisible characters |
| order_id | string | yes | 0x-prefixed 32-byte hex id |
| photo_or_youtube_url | string | yes | https:// URL or empty string, at most 512 bytes |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
No output schema declared.
No examples provided.
geode_market_rate_a_buyer Market: rate a buyer ~179
Seller: rate (1 to 5) and review the buyer of one of your orders. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| buyer | string | yes | Geode account address (SS58) |
| order_id | string | yes | 0x-prefixed 32-byte hex id |
| rating | string | yes | Non-negative integer as a string of digits |
| review | string | yes | UTF-8 text, at most 2048 bytes; no control or invisible characters |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
No output schema declared.
No examples provided.
geode_market_rate_a_product_or_service Market: rate a product or service ~161
Rate (1 to 5) and review a product or service. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| item_id | string | yes | 0x-prefixed 32-byte hex id |
| rating | string | yes | Non-negative integer as a string of digits |
| review | string | yes | UTF-8 text, at most 2048 bytes; no control or invisible characters |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
No output schema declared.
No examples provided.
geode_market_refuse_an_order Market: refuse an order ~163
Seller: refuse an order that has not shipped yet; the buyer is refunded in full. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent. Irreversible: the first call returns a confirm_token; call again with it to proceed.
| Name | Type | Req | Description |
|---|---|---|---|
| confirm_token | string | – | Token from the first call, to confirm this irreversible action |
| order_id | string | yes | 0x-prefixed 32-byte hex id |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
No output schema declared.
No examples provided.
geode_market_remove_item_from_cart Market: remove item from cart ~114
Remove an item from your cart. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| item_id | string | yes | 0x-prefixed 32-byte hex id |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
No output schema declared.
No examples provided.
geode_market_remove_store_bookmark Market: remove store bookmark ~108
Remove a store bookmark. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| seller | string | yes | Geode account address (SS58) |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
No output schema declared.
No examples provided.
geode_market_report_problem_damaged Market: report problem damaged ~172
Report that a delivered order arrived damaged. Only allowed within 24 hours of delivery. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| message | string | yes | UTF-8 text, at most 2048 bytes; no control or invisible characters |
| order_id | string | yes | 0x-prefixed 32-byte hex id |
| problem_photo_or_youtube_url | string | yes | https:// URL or empty string, at most 512 bytes |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
No output schema declared.
No examples provided.
geode_market_report_problem_not_received Market: report problem not received ~174
Report that an order marked delivered was not received. Only allowed within 24 hours of delivery. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| message | string | yes | UTF-8 text, at most 2048 bytes; no control or invisible characters |
| order_id | string | yes | 0x-prefixed 32-byte hex id |
| problem_photo_or_youtube_url | string | yes | https:// URL or empty string, at most 512 bytes |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
No output schema declared.
No examples provided.
geode_market_report_problem_wrong_item Market: report problem wrong item ~174
Report that a delivered order was the wrong item. Only allowed within 24 hours of delivery. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| message | string | yes | UTF-8 text, at most 2048 bytes; no control or invisible characters |
| order_id | string | yes | 0x-prefixed 32-byte hex id |
| problem_photo_or_youtube_url | string | yes | https:// URL or empty string, at most 512 bytes |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
No output schema declared.
No examples provided.
geode_market_search_products_by_keyword Market: search products by keyword ~137
Search Geode Marketplace products by up to three keywords. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
| Name | Type | Req | Description |
|---|---|---|---|
| caller | string | – | Optional account address (SS58) to run the query as |
| keywords1 | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| keywords2 | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| keywords3 | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
No output schema declared.
No examples provided.
geode_market_search_services_by_keyword Market: search services by keyword ~137
Search Geode Marketplace services by up to three keywords. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
| Name | Type | Req | Description |
|---|---|---|---|
| caller | string | – | Optional account address (SS58) to run the query as |
| keywords1 | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| keywords2 | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| keywords3 | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
No output schema declared.
No examples provided.
geode_market_search_stores_by_keyword Market: search stores by keyword ~142
Search Geode Marketplace stores (seller profiles) by up to three keywords. Read-only; no signature. Optional `caller`: the account whose view to read (for caller-dependent results).
| Name | Type | Req | Description |
|---|---|---|---|
| caller | string | – | Optional account address (SS58) to run the query as |
| keywords1 | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| keywords2 | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| keywords3 | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
No output schema declared.
No examples provided.
geode_market_update_buyer_account_settings Market: update buyer account settings ~144
Set your Marketplace buyer name and location. Writes to the chain: this prepares an unsigned transaction (an intent) for `signer`; nothing happens until you sign it with geode-local-signer and submit it with geode_submit_intent.
| Name | Type | Req | Description |
|---|---|---|---|
| location | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| name | string | yes | UTF-8 text, at most 512 bytes; no control or invisible characters |
| signer | string | yes | Your account address (SS58). The transaction is prepared for this account; you sign it on your own machine with geode-local-signer. |
No output schema declared.
No examples provided.
How do I install the Geode MCP server?
Geode is a hosted endpoint at https://mcp.geodeapps.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · mcp.geodeapps.com
claude mcp add --transport http com-geodeapps-mcp-geode 'https://mcp.geodeapps.com/mcp'
What is the Geode MCP server?
Geode is an MCP server listed in the public MCP registry as com.geodeapps.mcp/geode. Use the Geode blockchain's apps: marketplace, social, surveys, messaging, DNS and GEODE transfers. This page covers its hosted endpoint (https://mcp.geodeapps.com/mcp).
Is the Geode MCP server safe to use?
Geode scores 65 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the Geode MCP server expose?
Geode exposes 138 tools: geode_dns_register, geode_dns_set_address, geode_dns_transfer, geode_dns_get_address, geode_dns_get_owner, and 133 more. Their descriptions and schemas cost roughly 21,377 tokens of context every time the server is loaded.
Does the Geode MCP server require authentication?
No. We connected to Geode without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the Geode MCP server still maintained?
Geode is still listed as active in the MCP registry. We last reached this channel on 17 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.