Skip to main content
Glama

Server Details

An identity and memory layer for AI agents on the Emercoin blockchain. An agent claims a GitHub-rooted on-chain identity and stores verifiable hashes of its research and memory as Emercoin NVS (Name-Value Storage) records, through a small authenticated HTTP API and an MCP server. Neutral and provider-independent — not tied to any single AI vendor. FREE

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 has a clear, distinct purpose: node status, reading records, registering identity, storing memory, and checking session. No overlaps.

Naming Consistency4/5

Most tools follow verb_noun pattern (read_record, register_identity, store_memory), but node_status uses noun_verb and whoami is a single-word exception, creating minor inconsistency.

Tool Count5/5

5 tools is well-scoped for the server's purpose, covering health check, read/write operations, and session management without being too many or too few.

Completeness4/5

Covers core operations (health, read, register, store, session) but lacks a delete/remove operation, which is a minor gap.

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
Behavior4/5

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

Annotations already declare readOnlyHint, idempotentHint, and openWorldHint. The description adds value by noting no sign-in required, no parameters, and detailing the sync state condition (synced true once block == header height). It also explains the tool's role in establishing node health before other operations. While annotations cover safety, the description adds behavioral and workflow context.

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 three sentences long, each serving a distinct purpose: reporting what it does, stating properties (read-only, no sign-in, no params), and providing usage guidance. It is front-loaded with key information and contains no filler.

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 that an output schema exists (though not shown), the description appropriately focuses on high-level output fields and the sync condition. It also provides essential workflow context ('call it first'). With rich annotations and an output schema, this description is complete and leaves 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?

There are no parameters, and schema coverage is 100%. The description explicitly states 'no parameters.' Since there is nothing to add beyond the schema, the baseline of 4 is appropriate.

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 it reports the node's version, block height, header height, peer connections, and sync state. It specifies it's read-only with no sign-in or parameters, and explicitly distinguishes from sibling tools by advising to call it first before using read_record, register_identity, or 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 Guidelines5/5

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

The description explicitly states when to use this tool: 'Call it first in a session to confirm the node is healthy and fully synced before trusting read_record or writing...' This provides clear guidance on usage context and ordering relative to sibling tools.

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?

Annotations already declare readOnlyHint, openWorldHint, and idempotentHint. The description adds beyond that: it returns confirmed or pending records from mempool, distinguishes via 'status' field, and returns null fields for non-existent names. 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 well-structured with main action first, followed by examples, behavior clarifications, and related commands. It is slightly long but every sentence adds value, making it efficient for an agent.

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 simple single-parameter input and presence of output schema, the description explains return states (confirmed/pending), status field, and null behavior for non-existent names. It is complete for agent understanding without needing to inspect the output schema.

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?

Schema coverage is 100% and the description enriches the single parameter by providing concrete examples of valid name formats (ai:gh:<github_id> and memory variants), explaining their provenance, and clarifying that any existing NVS name works. This adds meaning beyond 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 specifies the verb 'read' and resource 'NVS record' with clear naming patterns for identity and memory records. It distinguishes from siblings like register_identity and store_memory by focusing on reading vs. writing, and from whoami by addressing record types.

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 states when to use the tool (to read a record by full name) and hints at alternatives (whoami for finding own github_id). It notes read-only, no sign-in required, and behavior for non-existent names, but lacks explicit when-not-to-use or direct sibling comparison.

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?

Adds significant detail beyond annotations: requires OAuth session, counts toward write limit, NVS transaction paid by gateway, pending then confirmed after ~10 min, idempotent. Annotations only hint at idempotency and openness.

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 dense, front-loaded sentences with no filler. Every phrase adds value, covering action, prerequisites, mechanism, idempotency, and return values.

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?

Covers prerequisites (OAuth, whoami), behavior (write limit, transaction, latency), idempotency, return values (record name, tx id), and post-conditions (use store_memory). Complete for a 2-param tool with output schema.

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?

Schema coverage is 100%, but description adds context: address is 'anchor for later signature login' and metadata is 'stored verbatim'. Also notes return values beyond 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?

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 for pre- and post-conditions.

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?

Explicitly instructs to run whoami first and use store_memory afterwards, providing clear context. Does not explicitly state when not to use, but the guidance is strong.

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
Behavior4/5

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

Annotations declare the tool is not read-only and not idempotent. The description adds details on rate limits, transaction cost, and confirmation delay (~10 min). It provides contextual behavior beyond the annotations without contradicting them.

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 a single paragraph covering all necessary information without redundancy. It is well-organized and front-loaded with the core action, though it could benefit from bullet points for readability.

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 complexity (write operation with external dependencies), the description covers prerequisites, behavior, timing, and limitations comprehensively. The output schema exists, so return values need not be detailed.

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?

With 100% schema coverage baseline at 3, the description adds value by explaining the content_hash becomes the record's suffix and that content stays off-chain. Metadata description matches the schema but still clarifies usage.

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 explicitly states the tool anchors a memory/artifact on-chain as an NVS record with a specific format. It clearly identifies the action (store), resource (memory/artifact), and output format, distinguishing it from sibling tools like read_record or register_identity.

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 clear prerequisites (signed-in session, registered identity), notes rate limits, and idempotency behavior. It does not explicitly mention when not to use or suggest alternatives, but the sibling tools cover complementary actions.

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?

Description adds details beyond annotations: no sign-in required, anonymous returns {authenticated: false} with hint, signed-in returns {authenticated: true} plus id/login/tariff. Annotations already indicate read-only and idempotent, no 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?

Three sentences, each valuable: first states purpose, second details behavior, third gives usage context. No wasted words.

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?

With 0 parameters and output schema present, the description covers all needed aspects: behavior, return format, and usage guidance.

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 exist, so baseline 4 applies. Description correctly notes the tool takes no arguments, providing no additional parameter semantics 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 states 'Report the current session's identity' which clearly indicates the tool's purpose. It distinguishes from siblings like register_identity and store_memory by focusing on identity retrieval.

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?

Explicit guidance provided: 'Call it to confirm who you are before register_identity / store_memory; an anonymous caller must sign in (GitHub OAuth) first.' This tells when to use and what prerequisites exist.

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