Server definition
- Hash
- sha256:b240cd800e5885299640428dbfe4cde8d0c24970c1debcecbc5b46d3ccdc6424
- What it is
- What a remote MCP server returned when asked what it offers: 5 tools
The blob, as servednamed by its sha256
{
"instructions": "Use the Emercoin blockchain as an identity + memory layer for AI agents. Read tools (node_status, read_record, whoami) are open to everyone — no sign-in. Write tools (register_identity, store_memory) require a GitHub sign-in via OAuth, which your MCP client performs; on the FREE tier writes are rate-limited per minute. Typical flow: whoami → register_identity(address) → store_memory(hash) → read_record(name). Records read back as `pending` and become `confirmed` after the next block (~10 min).",
"tools": [
{
"description": "Report the Emercoin node's version, block height, header height, peer\nconnections and sync state (`synced` true once block == header height).\nRead-only, no sign-in required, no parameters. Call it first in a session to\nconfirm the node is healthy and fully synced before trusting `read_record` or\nwriting with `register_identity` / `store_memory`.",
"inputSchema": {
"properties": {},
"title": "node_statusArguments",
"type": "object"
},
"name": "node_status",
"outputSchema": {
"properties": {
"blocks": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Blocks"
},
"connections": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Connections"
},
"headers": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Headers"
},
"synced": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Synced"
},
"verificationprogress": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"title": "Verificationprogress"
},
"version": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Version"
}
},
"title": "NodeStatus",
"type": "object"
}
},
{
"description": "Read one Emercoin NVS (Name-Value Storage) record by its full name — an\nagent's identity (`ai:gh:<github_id>`) or a memory\n(`ai:gh:<github_id>:mem:<hash>`) written by `register_identity` / `store_memory`.\nReturns the confirmed on-chain record, or a `pending` one still in the mempool —\nthe `status` field ('confirmed' | 'pending') distinguishes them. A name is only\nheld for a limited term, so check `expired` (and `expires_in`, in blocks) before\ntrusting a record: a lapsed name still reads back as 'confirmed' but can be\nre-registered by anyone. Read-only, no sign-in required; use `whoami` to find\nyour own github_id. Returns null fields for a name that does not exist.",
"inputSchema": {
"properties": {
"name": {
"description": "Full NVS record name to read. Identity records are 'ai:gh:<github_id>' (e.g. 'ai:gh:3772563'); memory records are 'ai:gh:<github_id>:mem:<sha256-hex>'. Any existing NVS name works.",
"title": "Name",
"type": "string"
}
},
"required": [
"name"
],
"title": "read_recordArguments",
"type": "object"
},
"name": "read_record",
"outputSchema": {
"properties": {
"address": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Address"
},
"address_is_mine": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Address Is Mine"
},
"days_added": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Days Added"
},
"expired": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Expired"
},
"expires_at": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Expires At"
},
"expires_in": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Expires In"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Name"
},
"operation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Operation"
},
"pending": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"title": "Pending"
},
"pending_update": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"default": null,
"title": "Pending Update"
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Status"
},
"time": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Time"
},
"txid": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Txid"
},
"value": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Value"
}
},
"title": "NvsRecord",
"type": "object"
}
},
{
"description": "Create or rotate your on-chain identity record `ai:gh:<github_id>`, binding an\nEmercoin address to your GitHub identity. Requires a signed-in session (OAuth)\nand counts against the FREE-tier per-minute write limit. Run `whoami` first to\nconfirm you are signed in; anchor memories under this identity afterwards with\n`store_memory`. Writes one NVS transaction paid by the gateway (you need no EMC);\nthe record reads back as `pending` at once and `confirmed` after the next block\n(~10 min on average). Idempotent — calling again rebinds the address. Returns the\nrecord name and the transaction id.",
"inputSchema": {
"properties": {
"address": {
"description": "Emercoin address to bind to your GitHub identity, e.g. 'EVfAn...'. It is the anchor for later signature login — you must control its key (control is proven when you sign a challenge at login, not here).",
"title": "Address",
"type": "string"
},
"metadata": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional JSON object stored verbatim in the identity record, e.g. {\"agent\": \"my-bot\", \"url\": \"https://...\"}. Omit if unused.",
"title": "Metadata"
}
},
"required": [
"address"
],
"title": "register_identityArguments",
"type": "object"
},
"name": "register_identity",
"outputSchema": {
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"txid": {
"title": "Txid",
"type": "string"
}
},
"required": [
"name",
"txid"
],
"title": "WriteResult",
"type": "object"
}
},
{
"description": "Anchor a memory/artifact on-chain as the NVS record\n`ai:gh:<github_id>:mem:<content_hash>` — a tamper-evident fingerprint others can\nverify later. Requires a signed-in session (OAuth) and counts against the\nFREE-tier per-minute write limit. Writes one NVS transaction paid by the gateway;\nreads back `pending` at once, `confirmed` after the next block (~10 min). Not\nidempotent — each distinct hash is a new record. Register your identity first.\nReturns the record name and the transaction id.",
"inputSchema": {
"properties": {
"content_hash": {
"description": "Hash of the artifact/memory, e.g. a SHA-256 hex digest. It becomes the record's ':mem:<hash>' suffix; the content itself stays off-chain (e.g. IPFS) — only this fingerprint is anchored.",
"title": "Content Hash",
"type": "string"
},
"metadata": {
"anyOf": [
{
"additionalProperties": true,
"type": "object"
},
{
"type": "null"
}
],
"default": null,
"description": "Optional JSON object stored with the record (note, source, tags, …). Omit if unused.",
"title": "Metadata"
}
},
"required": [
"content_hash"
],
"title": "store_memoryArguments",
"type": "object"
},
"name": "store_memory",
"outputSchema": {
"properties": {
"name": {
"title": "Name",
"type": "string"
},
"txid": {
"title": "Txid",
"type": "string"
}
},
"required": [
"name",
"txid"
],
"title": "WriteResult",
"type": "object"
}
},
{
"description": "Report the current session's identity. Read-only, no sign-in required: an\nanonymous session gets `{authenticated: false}` with a hint (not an error),\na signed-in one gets `{authenticated: true}` plus the GitHub-rooted id, login\nand tariff. Call it to confirm who you are before `register_identity` /\n`store_memory`; an anonymous caller must sign in (GitHub OAuth) first.",
"inputSchema": {
"properties": {},
"title": "whoamiArguments",
"type": "object"
},
"name": "whoami",
"outputSchema": {
"properties": {
"authenticated": {
"default": null,
"title": "Authenticated",
"type": "boolean"
},
"github_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"title": "Github Id"
},
"github_login": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Github Login"
},
"hint": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Hint"
},
"tariff": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"title": "Tariff"
}
},
"title": "WhoAmI",
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:b240cd800e5885299640428dbfe4cde8d0c24970c1debcecbc5b46d3ccdc6424 | sha256sum