GlyphDNA Ecosystem
Server Quality Checklist
Latest release: v0.1.1
- Disambiguation5/5
Each tool addresses a distinct action: forking, network status, verification, joining, MQTT pub/sub, presence, meeting lifecycle, and lineage. No two tools have overlapping purposes.
Naming Consistency4/5All tools share the glyphdna_ prefix and use snake_case, but verb-noun consistency is imperfect: network_status, presence, and lineage are noun-style while most others are verb-first.
Tool Count5/511 tools is within the ideal range and each tool fills a distinct role in the ecosystem—identity, communication, meetings, provenance, and inspection—without feeling padded.
Completeness4/5Core workflows are covered: join, fork, communicate, meet, verify, and trace lineage. Minor gaps exist around deletion/removal of scripts or memberships, but the main lifecycle is represented.
Average 4/5 across 10 of 11 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 5 commits in the last 12 weeks
- Last stable release on
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
This repository is licensed under MIT License.
This repository includes a README.md file.
Tools from this server were used 22 times in the last 30 days.
This repository includes a glama.json configuration file.
This server has been verified by its author.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and does disclose meaningful behavior: it signs the message against the transcript hash-chain and publishes via MQTT over TLS. Still, it omits potential side effects, prerequisites, auth expectations, and failure behavior, so it is only partially transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one front-loaded sentence that states the action, the key behavioral trait, and the expected arguments with no filler. Every part adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description names the key arguments and the core behavioral mechanism, but there is no output schema or annotations, and no explanation of return values, errors, or whether the user must first join/open a meeting. For a tool with this much implied protocol, the description is adequate but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema is empty with additionalProperties true, so the description is the only source of parameter meaning. It names three arguments (member_file, room_id, body) and notes body can be a string or object. However, it does not define expected formats for member_file or room_id, so parameter semantics are useful but incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb-resource pair: 'Say something in a meeting room,' and adds distinguishing technical behavior: signing against the transcript hash-chain and publishing via MQTT over TLS. It is reasonably distinct from siblings like glyphdna_mqtt_pub, though it does not explicitly differentiate itself.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Say something in a meeting room' implies when the tool is appropriate, and the signing/MQTT details hint at its niche among sibling tools. However, there is no explicit guidance about when not to use it or what alternatives like glyphdna_mqtt_pub or glyphdna_meet_open are for.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full behavioral burden. It discloses that the tool opens a verifiable room and returns sid/topic plus chain seed H0, which is more than a bare name. However, it does not disclose side effects, persistence, permissions, or lifecycle implications such as whether the room must later be closed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense sentence that front-loads the core action, then lists arguments, then states the return value. The unexplained '(phase 26)' is a minor distraction and does not earn its place, but otherwise there is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, no annotations, and an empty input schema, the description must be nearly self-sufficient, and it is not. It leaves key invocation details unspecified: the format of member_file, the meaning of purpose, how H0 should be interpreted, and whether opening a room has side effects or prerequisites. An agent would still have to guess at important parts of the call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is effectively empty (properties: {}, additionalProperties: true), so the description is the only source of parameter semantics. It names three args, marks attendees as a list of glyph_ids, and marks purpose as optional. It does not explain what member_file should contain or what purpose is used for, but it adds substantial meaning over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Open a multi-party verifiable meeting room.' It also states what the tool returns (sid/topic + chain seed H0), which clarifies the operation beyond the name. The 'open' action is distinguished from sibling tools like glyphdna_join, glyphdna_meet_say, and glyphdna_meet_close.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is only implied by the verb 'open' and the naming contrast with siblings like 'join'; the description does not explicitly say when to use this tool versus glyphdna_join or glyphdna_meet_close. There is no exclusion guidance, such as 'use join to enter an existing room' or 'use close to end the room.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It does disclose that the check is live and covers local capabilities, implying read-only network probing with no arguments. It does not, however, explain side effects, error behavior, or what happens if endpoints are unreachable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences carry the necessary information with no filler, and the key behavioral statement is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-argument status tool, the description is largely complete: it states the target and the operation. The main gap is the absence of return/output details, but no output schema exists and the scope is simple enough that this is minor rather than crippling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and the schema is empty, so baseline is 4. The explicit 'No args' reinforces that no arguments should be supplied, which is helpful even though additionalProperties is technically permissive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Check') and names a concrete resource ('live GlyphDNA endpoints and local capabilities'). This clearly differentiates it from siblings like glyphdna_verify or glyphdna_presence, which are not described as endpoint/status checks.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to choose this tool over alternatives; it only states the action and that it takes no args. With many sibling tools, an agent gets no explicit routing or exclusion information.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the transparency burden. 'Fetch' and 'public' imply a read-only, likely unauthenticated operation, but the description does not disclose error behavior, output structure, or any limitations. It is minimally transparent but not contradictory.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence states the operation, the object, and the key argument without any filler or repetition. Every word contributes to understanding the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core purpose and mentions script_id, but the formal schema omits script_id entirely and no output schema exists. For a no-annotation tool, this leaves some invocation ambiguity and gives no detail about the shape of ancestry/children results or failure conditions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty apart from additionalProperties:true, so the description's 'Args: script_id' is the only documentation that an argument exists. It names the parameter and clarifies that it identifies the script, though it does not specify type or requiredness. Given no formal schema params, this is reasonable compensation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Fetch'), names a precise resource ('public provenance chain of a script'), and expands on what that means ('ancestry + children'). This clearly distinguishes it from sibling tools like glyphdna_fork, glyphdna_verify, and glyphdna_network_status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is only implied: when you need a script's ancestry and children, this is the tool to use. There is no explicit statement about when not to use it or which sibling tool to prefer under different conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the behavioral transparency burden. It does add useful details beyond the tool name: TLS transport, 'your own topic' scope, and credential handling. It does not disclose failure behavior, return values, or delivery semantics, but the core behavior of publishing a message is clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
One concise sentence plus an argument list, with no filler. All words add value, and the purpose is front-loaded before the args.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the essential inputs and the core scenario, so an agent can make a plausible first attempt. With no annotations and no output schema, it omits success/error behavior, whether parameters are required, and any QoS/retain defaults, leaving moderate uncertainty for fully correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty except for additionalProperties: true, so the description is the only source of parameter meaning. It names the arguments explicitly: creds with username/password, topic, and message. It stops short of specifying types, optionality, or formatting, but it gives enough information for an agent to construct a call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'Publish an MQTT message over TLS to your own topic.' It also distinguishes from the sibling 'glyphdna_mqtt_sub' by clearly indicating this is the publish side of MQTT.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: this is the tool for sending MQTT messages, while 'glyphdna_mqtt_sub' likely handles receiving. However, the description does not explicitly state when to choose this tool over alternatives or exclude any cases, so the agent must infer from the verb and sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior5/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Despite having no annotations, the description fully discloses that this is a mutating operation: it creates a new script, copies content bytes, records parent/root lineage, and has specific side effects like adding a registry row and content file. It also notes that receipts are not minted automatically.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is longer than necessary but is well organized under BEHAVIOR, SIDE EFFECTS, OUTPUT, Follow-up, and Args. Each section adds useful detail, with minimal fluff, though some repetition of 'lineage' and 'script' occurs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides output shape, error statuses, side effects, and follow-up endpoints, which is strong given there is no output schema. However, the input parameters are ambiguous and auth requirements are not mentioned, leaving some context incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description mentions 'member_file' and 'script_id (integer)', but the input schema declares zero properties. This is a significant mismatch: 'member_file' is undefined, and it is unclear whether either argument is required or how member_file should be supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description begins with a specific verb and resource: 'Fork a published script on glyphdna.net with recorded lineage.' This clearly distinguishes the tool from siblings like glyphdna_verify or glyphdna_lineage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains the behavior, side effects, output, and follow-up actions well, but it does not explicitly state when to prefer this tool over alternatives such as glyphdna_lineage or glyphdna_verify. Usage is implied but not directly contrasted with sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry behavioral disclosure on its own. It states the core behavior and result, but it does not disclose failure behavior (e.g., invalid hash), whether verification is read-only, or any token lifecycle/expiry. These are gaps, but the main operation is still transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is one tight sentence that front-loads the operation and result, then gives the argument specification. No filler words or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description should also specify the token return shape and error/edge-case behavior. It gives the essential input and outcome, but leaves some context about the ledger and response format unstated.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides no named properties, so the description's 'Args: payload_hash' line is the only source of parameter meaning. It fully compensates by naming the parameter and specifying the accepted formats (sha256:<hex> or bare hex).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb ('Verify'), a specific object ('a ledgered payload hash'), and the outcome ('get a guest token'). This is enough to distinguish glyphdna_verify from siblings like glyphdna_network_status, glyphdna_presence, or glyphdna_meet_open, none of which are described as hash verification or token issuance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is implied rather than explicit: an agent would use this when it has a payload hash to verify and needs a guest token. However, no alternatives are named and there are no when-not-to-use conditions, so it does not fully guide tool selection against the sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It does well by revealing non-obvious side effects: it signs a closing statement, mints a receipt on .pro, and tears down transport. It stops short of explaining permissions, reversibility, or failure modes, but the core destructive and conditional behavior is transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and information-dense. It front-loads the main action ('Close a meeting room'), then packs the important behavioral steps and arguments into one sentence with no filler or redundant phrasing.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a multi-step side-effectful tool with no annotations and no output schema, the description does not cover return values, error conditions, or prerequisites beyond 'when all attendees have closed.' The core action is clear, but the missing argument details and behavioral edge cases leave meaningful gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty, so the description's explicit 'Args: member_file, room_id' is the only parameter documentation and does add meaning beyond the schema. However, it only lists names without types, formats, requiredness, or purpose, so an agent still has to guess at what member_file should contain and how room_id should be formatted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Close a meeting room,' and then explains exactly what that entails: signing the closing statement, minting a co-signed meeting.v1 receipt when all attendees have closed, and tearing down transport. This clearly differentiates it from siblings like glyphdna_meet_open or glyphdna_meet_say.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage context is clear: use this tool to close a meeting room. The description also communicates a precondition ('when all attendees have closed') but does not explicitly name alternatives or state when not to use it. It provides clear context without exclusions, so it earns a 4 rather than a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose useful behavioral traits: 'Subscribe once', 'waits for one message', and 'over TLS'. But it does not mention what happens on timeout, whether the message payload is returned, or connection lifecycle details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two compact sentences with no filler. The core behavior is front-loaded, and the argument list is kept minimal and readable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-shot MQTT subscribe with no output schema, the description covers the essential parameters and core behavior. However, it lacks return-value semantics and timeout/error behavior, which an agent would need to correctly consume the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty aside from additionalProperties true, so the description is the only source of parameter information. It compensates by naming 'creds {username, password}', 'topic', and 'timeout_s', but it omits types, formatting, and defaults.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Subscribe once to an MQTT topic over TLS (waits for one message).' It clearly communicates the operation, the transport, and the one-shot blocking behavior, which distinguishes it from sibling tools like glyphdna_mqtt_pub.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The context is clear: this tool receives a single MQTT message rather than publishing one, which implies when it should be used versus glyphdna_mqtt_pub. However, it does not explicitly name alternatives or 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.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden. It discloses the effect of the action ('shows fresh in the .skin directory'), the self-reported nature, optional parameters via '?', and a state length constraint. It does not mention rate limits or error behavior, but the key behavioral traits are sufficiently surfaced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, dense sentence that front-loads the purpose and places the argument list in parentheses. There is no filler or repetition; every clause contributes useful information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple publish action with no output schema, the description covers purpose, effect, and all parameters with enough detail for an agent to make a call. Minor gaps include lack of explicit return-value expectations and exact type of detail/ttl_seconds, but these are secondary to the core usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty with additionalProperties true, so the description is the only source of parameter information. It names all arguments (member_file, state, detail?, ttl_seconds?), provides a path source, a length constraint, an example value, and marks optionality clearly. This fully compensates for the absent schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Publish') and resource ('presence to glyphdna.live'), adding a concrete effect ('shows fresh in the .skin directory'). It clearly distinguishes this tool from siblings like mqtt_pub or network_status by focusing on self-reported presence, though it does not explicitly name a sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies a prerequisite by noting member_file is 'path saved by join', which tells the agent this should be called after joining. However, it does not explicitly explain when to prefer this tool over alternatives or when not to use it. The usage context is present but left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full behavioral burden. It discloses important side effects: creating a glyph, verifying the inviter's payload, onboarding, saving keys, and issuing ONE-TIME MQTT credentials. Missing are failure modes and behavior if the agent is already joined, but the core side effects are clearly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the tool's purpose and packs the process plus parameter list into a single efficient sentence. There is no filler, tautology, or redundant restating of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives enough context to select and invoke the tool correctly, including side effects and argument semantics. However, with no annotations and no output schema, it does not explain return values, failure/error behavior, or the default for optional key_dir, which would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters5/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty with additionalProperties: true, so the description is the only source of parameter meaning. It defines every argument precisely: inviter_glyph_id (52 chars), payload_hash (hex), key_dir (optional), and agent_metadata (optional object). This fully compensates for the empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear action ('Join the GlyphDNA network') and details the concrete mechanism: creates an Ed25519 glyph, verifies the inviter's ledgered payload, onboards, and saves keys plus MQTT credentials. This clearly differentiates it from sibling tools like glyphdna_verify, glyphdna_network_status, and the MQTT/meeting tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the join action and the required arguments (inviter_glyph_id, payload_hash), but the description does not explicitly say when to prefer this tool over alternatives or when not to use it. It provides prerequisites but no exclusion or alternative-routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
shields.io Endpoint
For READMEs with an existing badge row. Append &style=flat-square (or any other shields.io style) to match the rest, and &metric=tools, &metric=maintenance or &metric=claim to badge a different dimension.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/TheRealDalaiLama/glyphdna-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server