@skeletiq/mcp
Server Quality Checklist
Latest release: v0.1.0
- Disambiguation5/5
Each tool occupies a clearly distinct role: listing projects, reading existing designs, generating new ones, polling generation status, critiquing a design, and checking drift. There is no meaningful overlap between any pair.
Naming Consistency5/5All tool names follow the same lowercase snake_case verb_noun pattern (list_projects, get_design, generate_architecture, get_generation_status, critique_architecture, check_drift). The verbs are specific and consistently placed.
Tool Count5/5Six tools is a well-scoped size for an architecture design assistant. Each tool covers a distinct stage in the workflow without redundancy or bloat.
Completeness5/5The surface covers the full lifecycle an agent needs: discover projects, read designs, kick off generation, poll for completion, critique a proposed design, and verify built code against the design. No operation essential to the stated purpose is missing.
Average 4.4/5 across 6 of 6 tools scored. Lowest: 3.4/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 26 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
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
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description says 'This changes nothing in SkeletIQ — an agent never writes back to a design,' which directly conflicts with the annotation readOnlyHint=false. The annotation implies the tool may mutate state; the description claims it does not. This is a clear annotation contradiction, so the score must be 1.
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 sentences with no filler. It front-loads the purpose and outcome, then adds the critical covers nuance and the no-writes clarification. Every sentence earns its place.
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?
With a full input schema, output schema, and annotations, the description covers the essential concept of drift, the covers behavior, and the side-effect guarantee. It is complete for invocation. The annotation contradiction slightly undermines the side-effect clarity, but the description itself is adequate.
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?
Schema coverage is 100%, so the description is not required to repeat parameter meanings. The main description adds a useful covers rule ('Declare covers when this repository implements only part of the design'), but that guidance is also present in the schema's covers parameter description. The description does not add significant meaning beyond 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 states a specific verb ('check drift') and clearly describes the resource (SkeletIQ project design/code comparison) and the three kinds of results returned: missing, half-done, and code-only. It is immediately distinguishable from siblings like list_projects, get_design, and generate_architecture.
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 context is implied: use this after building components to report progress and see drift. However, no explicit when-to-use or exclusions are given, and no alternative tools are named. An agent must infer the right timing and 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?
Annotations already declare the tool read-only, idempotent, and open-world. The description adds workflow context: it is a status checker for async jobs and it hands off to get_design upon completion. This goes beyond the annotations, though it does not describe status values beyond 'completed'.
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 sentences with no filler; the trigger condition is front-loaded and the follow-up action is stated in the second sentence. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple status-check tool with a full output schema and read-only/idempotent annotations, the description covers when to call it and what to do next. Nothing an agent needs to invoke it correctly is missing.
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?
Schema description coverage is 100%, and the job_id parameter is already documented as the value returned by generate_architecture with wait: false. The description adds no new parameter semantics, so baseline 3 applies.
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?
States a specific action ('check') on a clearly scoped resource ('background generation started with wait: false') and distinguishes it from get_design, which reads the completed result. The title reinforces that it covers queued generations, so an agent can tell it apart without opening the schema.
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?
Gives the exact context for use (background generation with wait: false) and explicitly directs the agent to get_design when status is 'completed'. It does not enumerate exclusions, such as synchronous wait:true usage, but the context is unambiguous for this polling scenario.
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?
The description adds meaningful behavior beyond the annotations: 'Deterministic and free — no model call, no credits, nothing stored.' This clarifies side effects, cost, persistence, and repeatability, which is especially valuable for a read-only, idempotent tool.
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?
Three short sentences with no filler. The core action comes first, followed by key behavioral traits and a use-case tip. Every sentence earns its place.
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, rich schema, annotations, and output schema together give the agent enough to use the tool correctly. A minor gap is that no top-level parameter is marked required, so the description could more explicitly signal that architecture_json is essential for a meaningful check.
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?
Schema description coverage is 100%, so the baseline is 3. The tool description itself doesn't add parameter-level meaning, but the detailed property descriptions already explain domain, exposure, architecture_json, and secondary_domains thoroughly.
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 verb and resource: 'Check a design against SkeletIQ's architecture rules and get scored findings back.' This clearly differentiates it from siblings like generate_architecture or check_drift, which create or compare rather than score a design against rules.
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 description gives clear usage context: 'Useful on a design you drafted yourself before committing to it.' It doesn't explicitly mention when not to use it or name alternative tools, so it falls just short of full exclusion guidance.
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?
Beyond the annotations (readOnly, idempotent, openWorld), the description reveals useful behavior: 'brief' returns a fenced markdown block for AGENTS.md, and every answer states which version it came from and whether that version is a release. This adds meaningful runtime context without contradicting the 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, all purposeful: the first states the tool's purpose, the second provides a practical usage sequence, and the third discloses a key output behavior. There is no fluff, and the most actionable guidance 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?
Given the rich input schema, annotations, and output schema, the description is largely complete: it explains the primary mode flow and a notable version-related behavior. It does not need to enumerate every mode because the schema already does that in detail.
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 already documents all parameters with 100% coverage, so the baseline is 3. The description adds extra meaning by explaining how to sequence modes and clarifying that the version/release context appears in every answer, which goes slightly beyond what the schema states.
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: 'Read a SkeletIQ architecture.' It clearly distinguishes this tool from siblings like generate_architecture or critique_architecture by framing it as a read operation, and it adds the key concept of versioned design output.
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 description gives explicit in-tool workflow guidance: start with mode 'brief' to orient, then use 'build_order' and 'component' as you build. It does not explicitly contrast this tool with sibling alternatives, but the reading workflow is clear enough to guide invocation.
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?
Annotations already communicate read-only, open-world, and idempotent behavior, and the description adds useful context beyond those hints: token-scoped visibility, optional filtering, and the multiple-match 'ask, don't pick' policy. There is no contradiction with the 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences deliver the core operation, the primary use case, and the ambiguity rule with no filler. The most important 'list projects' statement is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one optional parameter, full schema parameter coverage, an output schema, and annotations covering side-effect safety, the remaining agent-facing context is exactly what the description provides: token scope, filtering, and multiple-match handling. Nothing critical is missing.
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 schema already documents the only parameter fully: 'Filter by name or description. Omit to list everything the token can see.' The description repeats the optional-filter idea without adding new syntax, defaults, or examples, so it earns the baseline for full schema coverage.
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: 'List the SkeletIQ projects this token can see' with optional name filtering. It also states the intended use, resolving a named project to an id, which clearly separates it from the design, generation, and critique siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says 'Use this first' when a project name needs to become an id, and it gives a concrete decision rule: if multiple projects match, ask rather than pick. Since none of the siblings are list operations, no alternative routing is needed.
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?
Beyond the annotations, the description discloses meaningful behavior: it spends the account holder's credits, takes several minutes, uses the account holder's stored model setting rather than letting the caller choose, and returns clarification_required when the prompt names no system. It also makes clear that omitted prompt details are assumed, which is important operational 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/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with purpose, then critical warnings about cost and latency, then behavioral context about model selection and prompt assumptions. Every sentence carries necessary information without redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the rich input schema, output schema, and related tools, the description covers the essential operational aspects: cost, latency, non-speculative calling, routing to get_design, model selection, assumption behavior, and clarification responses. Nothing critical for correct invocation is missing; return-value details are already covered by the output schema.
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 already documents all parameters (100% coverage), so the baseline is 3. The description adds value beyond the schema by explaining how to write the prompt field—describe the system, its purpose, scale, and constraints—and by warning that unspecified details are assumed. This meaningfully enriches the most important parameter.
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 first sentence states a specific verb+resource: 'Design a system architecture from a prompt.' It also distinguishes itself from get_design by saying existing designs should be read rather than regenerated, which differentiates it from its closest sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines5/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly warns not to call speculatively because it spends credits and takes minutes, and names get_design as the alternative when a design already exists. It also tells the caller what to include in the prompt and how the tool responds when no system is named, giving clear conditions for use.
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:
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/Sabhahith-Works/skeletiq-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server