Emer Ai Tools
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.
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.
Tool Definition Quality
Average 4.7/5 across 5 of 5 tools scored.
Each tool has a clear, distinct purpose: node status, reading records, registering identity, storing memory, and checking session. No overlaps.
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.
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.
Covers core operations (health, read, register, store, session) but lacks a delete/remove operation, which is a minor gap.
Available Tools
5 toolsnode_statusNode statusARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| blocks | No | |
| synced | No | |
| headers | No | |
| version | No | |
| connections | No | |
| verificationprogress | No |
Tool Definition Quality
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.
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.
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.
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.
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.
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 recordARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | 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. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | No | |
| time | No | |
| txid | No | |
| value | No | |
| status | No | |
| address | No | |
| pending | No | |
| operation | No | |
| days_added | No | |
| pending_update | No | |
| address_is_mine | No |
Tool Definition Quality
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.
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.
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.
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.
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.
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 identityAIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | 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). | |
| metadata | No | Optional JSON object stored verbatim in the identity record, e.g. {"agent": "my-bot", "url": "https://..."}. Omit if unused. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| txid | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| metadata | No | Optional JSON object stored with the record (note, source, tags, …). Omit if unused. | |
| content_hash | Yes | 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. |
Output Schema
| Name | Required | Description |
|---|---|---|
| name | Yes | |
| txid | Yes |
Tool Definition Quality
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.
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.
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.
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.
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.
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 IARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| hint | No | |
| tariff | No | |
| github_id | No | |
| github_login | No | |
| authenticated | No |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!