Skip to main content
Glama

Server Details

On-chain identity and durable memory for AI agents on the Emercoin blockchain (NVS).

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 4.7/5 across 5 of 5 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool targets a distinct function: node status, session identity, record reading, identity registration, and memory storage. There is no overlap or ambiguity.

Naming Consistency5/5

All tool names follow a consistent lowercase_with_underscores pattern (node_status, read_record, register_identity, store_memory, whoami). whoami is a standard exception but fits the pattern.

Tool Count5/5

Five tools is appropriate for a focused MCP server handling node health, identity management, and on-chain storage. Each tool earns its place without excess or deficiency.

Completeness4/5

The set covers the core workflow: check node health, manage identity, read/write records. A minor gap is the lack of a delete or update operation for records, but these are less critical for the intended use case.

Available Tools

5 tools
node_statusNode statusA
Read-onlyIdempotent
Inspect

Report the Emercoin node's version, block height, header height, peer connections and sync state (synced true once block == header height). Read-only, no sign-in required, no parameters. Call it first in a session to confirm the node is healthy and fully synced before trusting read_record or writing with register_identity / store_memory.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
blocksNo
syncedNo
headersNo
versionNo
connectionsNo
verificationprogressNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, openWorldHint, idempotentHint. The description adds 'no sign-in required, no parameters, sync state meaning', and the session order guidance, adding value beyond annotations without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences with no wasted words. First sentence lists outputs with clarifying parenthetical. Second sentence gives essential usage guidance. Front-loaded with core purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given existence of output schema, description need not explain return values. It covers purpose, parameters, usage context, and session importance. Fully complete for this tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema shows zero parameters, and description confirms 'no parameters'. Baseline for 0 params is 4, and description adds no further but correctly states no params.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Report the Emercoin node's version, block height, header height, peer connections and sync state', using a specific verb and resource. It distinguishes from sibling tools by noting it's a read-only health check that should be called first.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says to 'Call it first in a session to confirm the node is healthy and fully synced before trusting read_record or writing with register_identity / store_memory.' Provides clear context and alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

read_recordRead NVS recordA
Read-onlyIdempotent
Inspect

Read one Emercoin NVS (Name-Value Storage) record by its full name — an agent's identity (ai:gh:<github_id>) or a memory (ai:gh:<github_id>:mem:<hash>) written by register_identity / store_memory. Returns the confirmed on-chain record, or a pending one still in the mempool — the status field ('confirmed' | 'pending') distinguishes them. Read-only, no sign-in required; use whoami to find your own github_id. Returns null fields for a name that does not exist.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesFull 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.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameNo
timeNo
txidNo
valueNo
statusNo
addressNo
pendingNo
operationNo
days_addedNo
pending_updateNo
address_is_mineNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (readOnlyHint, openWorldHint, idempotentHint), the description adds that the tool returns confirmed or pending records distinguished by a 'status' field, returns null fields for non-existent names, and requires no authentication. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is moderately sized but each sentence provides useful information. It is front-loaded with the core purpose. There is no unnecessary repetition, though it could be slightly more concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema (not shown) and the tool's simplicity (single parameter, read-only), the description is complete. It covers return value distinctions, edge cases (non-existent names), and prerequisites (whoami). The sibling tools are mentioned appropriately.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The parameter 'name' is fully described in the schema (100% coverage). The description adds concrete examples of name formats (e.g., 'ai:gh:3772563') and explains their source, enriching the schema's description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action: reading one NVS record by full name. It specifies the exact name formats for identities and memories, and explicitly relates them to sibling tools (register_identity, store_memory, whoami). This differentiates it from other tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides context on when to use the tool (to read a record by name) and notes it is read-only with no sign-in required. It suggests using 'whoami' to find the user's own github_id, giving a practical guideline. However, it does not explicitly state when not to use it or name alternatives beyond the mentioned siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

register_identityRegister identityA
Idempotent
Inspect

Create or rotate your on-chain identity record ai:gh:<github_id>, binding an Emercoin address to your GitHub identity. Requires a signed-in session (OAuth) and counts against the FREE-tier per-minute write limit. Run whoami first to confirm you are signed in; anchor memories under this identity afterwards with store_memory. Writes one NVS transaction paid by the gateway (you need no EMC); the record reads back as pending at once and confirmed after the next block (~10 min on average). Idempotent — calling again rebinds the address. Returns the record name and the transaction id.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesEmercoin 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).
metadataNoOptional JSON object stored verbatim in the identity record, e.g. {"agent": "my-bot", "url": "https://..."}. Omit if unused.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYes
txidYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses behavior beyond annotations: NVS transaction paid by gateway, pending/confirmed states, ~10 min delay, idempotency, rate limit, and return values. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four sentences each serving a distinct purpose, front-loaded with core action, no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Comprehensive coverage: purpose, prerequisites, behavior, idempotency, return values, and sibling links. Output schema exists so return details are sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers 100% of parameters with detailed descriptions. The high-level description adds no new parameter-specific semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool creates or rotates an on-chain identity record binding an Emercoin address to a GitHub identity. It distinguishes from siblings by referencing whoami and store_memory.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit context: requires OAuth session, counts against write limit, and suggests running whoami first. However, it does not explicitly state when not to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

store_memoryStore memoryAInspect

Anchor a memory/artifact on-chain as the NVS record ai:gh:<github_id>:mem:<content_hash> — a tamper-evident fingerprint others can verify later. Requires a signed-in session (OAuth) and counts against the FREE-tier per-minute write limit. Writes one NVS transaction paid by the gateway; reads back pending at once, confirmed after the next block (~10 min). Not idempotent — each distinct hash is a new record. Register your identity first. Returns the record name and the transaction id.

ParametersJSON Schema
NameRequiredDescriptionDefault
metadataNoOptional JSON object stored with the record (note, source, tags, …). Omit if unused.
content_hashYesHash 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.

Output Schema

ParametersJSON Schema
NameRequiredDescription
nameYes
txidYes
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description goes well beyond annotations by detailing the write process (one NVS transaction), readback states (pending then confirmed after ~10 min), off-chain content, and the importance of distinct hashes. All disclosed traits are consistent with annotations and add substantial value.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, well-structured paragraph that front-loads the main action. Every sentence provides necessary information without redundancy, making it efficient and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers prerequisites, process, output (record name and transaction ID), limitations, and the record naming scheme. Given the tool's complexity and the existence of an output schema, the description is comprehensive enough for an AI to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema coverage, the description still adds meaning by explaining the content_hash format (SHA-256 hex digest, becomes record suffix) and metadata use (optional JSON for notes, source, tags). This contextualizes the parameters beyond the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action ('Anchor a memory/artifact on-chain') and the resource (NVS record with a specific naming pattern). It distinguishes itself from siblings by focusing on storing a memory hash, which is unique among the listed tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description lists prerequisites (signed-in session, register identity first) and constraints (free-tier write limit, not idempotent). However, it does not explicitly contrast with sibling tools or state when to use this tool versus alternatives, missing explicit guidance for selection.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

whoamiWho am IA
Read-onlyIdempotent
Inspect

Report the current session's identity. Read-only, no sign-in required: an anonymous session gets {authenticated: false} with a hint (not an error), a signed-in one gets {authenticated: true} plus the GitHub-rooted id, login and tariff. Call it to confirm who you are before register_identity / store_memory; an anonymous caller must sign in (GitHub OAuth) first.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
hintNo
tariffNo
github_idNo
github_loginNo
authenticatedNo
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate read-only and idempotent. The description adds detailed response formats for both anonymous and signed-in sessions, covering edge cases without contradicting annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences, front-loaded with purpose, efficiently conveying key information without waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and an output schema exists, the description sufficiently explains return values and behavior. No gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

No parameters (baseline 4). Description adds no parameter info, but none is needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool reports the current session's identity. It distinguishes from siblings like register_identity and store_memory by focusing on identity query rather than mutation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises calling this tool before register_identity/store_memory, and explains that anonymous callers must sign in first. Provides clear when-to-use and next steps.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources