ModelBound
OfficialThe ModelBound MCP server provides local-first agent skill management and optional cloud sync for AI IDEs like Cursor, Claude, Kiro, and Windsurf.
Local Capabilities (no API key required)
ide.detectLayout— Detect which IDE conventions exist in your working directoryskills.listLocal/skills.readLocal/skills.writeLocal— List, read, and write local skill filesskills.lint— Lint for front-matter issues, token count, broken links, and TODOsskills.validateFormat— Validate against the agentskills.io standardskills.convert— Convert between IDE formats (e.g. Cursor → Claude, Kiro, Codex)skills.diff— Compare a local skill against its cloud counterpart by slug
Cloud Capabilities (requires MODELBOUND_API_KEY)
cloud.pullSkill/cloud.pushSkill— Pull or push skills from/to the ModelBound cloud librarycloud.listSkills— List cloud skills, filterable byai_type(skill, rule, system-prompt, etc.) andsource_platformcloud.resourceTree— Get the full resource hierarchy grouped by platform → directory → files (useful for orchestrators)cloud.search— Full-text search across all cloud contentcloud.installMarketplaceSkill— Install a public marketplace skill into your libraryoptimization.health— Get token health scores and staleness metrics for your context library
Supports converting and managing skills for Amazon Q.
modelbound-mcp
Local-first MCP server for agent skills. Validate, lint, diff, and convert agent skill files across Cursor, Claude, Codex, Kiro, Windsurf, VS Code, and Amazon Q — no account required. Optional cloud sync with ModelBound.
Why ModelBound?
AI tools come and go. You might use Cursor today, switch to Claude Code tomorrow, and try Kiro next week — but your skills, rules, and context shouldn't be locked into any one of them. ModelBound gives you a single place to store and manage your agent skills, so you can move between tools freely without rebuilding your setup each time. Write a skill once, sync it everywhere, and get more value out of every AI subscription you're already paying for.
Related MCP server: skill4agent MCP Server
What it does
modelbound-mcp is a small Model Context Protocol server you run locally over stdio. It exposes tools to your IDE / agent using dot-notation naming for navigable discovery:
Local (no API key, no network):
ide.detectLayout— find which IDE conventions your repo usesskills.listLocal,skills.readLocal,skills.writeLocalskills.lint— front-matter, token count, broken links, TODO scan, trust score (scanner h5)skills.trust— deterministic slop/trust heuristics without full lintskills.scaffold— create a skill with default scope constraintsskills.reviewStatus,skills.reviewRequest,skills.reviewApprove,skills.reviewReject,skills.reviewGateskills.validateFormat— agentskills.io complianceskills.convert— translate between IDE formats (e.g. Cursor → Claude)skills.diff— compare a local skill with its cloud counterpart
Cloud (with MODELBOUND_API_KEY):
cloud.pullSkill,cloud.pushSkill,cloud.searchcloud.listSkills— now acceptsai_typeandsource_platformfilters; every row includesai_type,source_platform,source_path, andrepocloud.resourceTree— returns the team's full hierarchy grouped by platform → top-level dir (.claude/skills,.cursor/rules,.kiro/steering, …) → files. Use this beforecloud.listSkillswhen an orchestrator needs to map context before loading.cloud.installMarketplaceSkilloptimization.health
Resource hierarchy
Orchestrators that juggle multiple AI platforms can call cloud.resourceTree once to get a complete map of available skills, rules, hooks, steering files, and system prompts — grouped exactly how each platform expects them on disk. Pair it with the new ai_type / source_platform filters on cloud.listSkills to load only the slice you need. See examples/resource-tree.ts.
The cloud tools are a thin JSON-RPC proxy to mcp.modelbound.co. All business logic stays server-side; this repo never touches your data or secrets.
Migration from 0.1.x — old snake_case names (
detect_ide_layout,pull_skill, …) were removed in 0.2.0. The hosted ModelBound MCP server still accepts both forms forever for backward compatibility.
Anti-slop (0.4.x) — trust scanner bumped to h5 with scope-limit, unbounded-wording, dependency, and refactor findings.
skills.readLocalnow returnstrust_score,scanner_version,review_state, andreview_meta. Override default scope limits via.modelbound/task-budgets.json. Useskills.reviewGatein CI to block unapproved skills.
Install
npx modelbound-mcpOr install globally:
npm i -g modelbound-mcpUse as an MCP server
Cursor (.cursor/mcp.json)
{
"mcpServers": {
"modelbound": {
"command": "npx",
"args": ["-y", "modelbound-mcp"],
"env": { "MODELBOUND_API_KEY": "mb_live_..." }
}
}
}MODELBOUND_API_KEY is optional. Without it, local tools still work.
See examples/ for Claude Desktop, Kiro, Windsurf, and VS Code configs.
Use as a CLI
modelbound-mcp detect # which IDE layouts exist here?
modelbound-mcp ls # list every skill file
modelbound-mcp lint .cursor/rules/ # lint a directory
modelbound-mcp lint .codex/skills/ # lint Codex skills
modelbound-mcp validate ./SKILL.md # agentskills.io compliance
modelbound-mcp convert --from cursor --to claude ./rule.mdc > out.mdContributing
We want help. Specifically:
New IDE adapters — Zed, Aider, Continue, JetBrains AI, Cline. See CONTRIBUTING.md for the ~50 line recipe.
Linter rules — token estimation accuracy, dead-link detection, format-specific gotchas.
Format converters — fidelity improvements between adapter pairs.
Browse good first issues and the roadmap.
Related projects
Project | Description |
Terminal + CI for token optimization, skill pipeline, and version management | |
VS Code/Cursor extension for rules sync and MCP bridge | |
Cursor slash commands for pipeline, trust & safety, and versions | |
Claude Code plugin for pipeline, hooks, and skill sync | |
Open-source curated AI context packs for engineering teams |
Also on Smithery (stdio via npx modelbound-mcp) and the MCP Registry. Install hub: modelbound.co/connect
License
MIT © ModelBound
Available Tools
15 toolscloud.installMarketplaceSkillB
Install a public marketplace skill into your library. Requires MODELBOUND_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description only mentions requires API key, but no info on side effects, permissions, or what happens on install (e.g., overwrite, conflicts). Minimal behavioral disclosure.
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?
Single sentence, no wasted words. However, too brief to cover necessary details.
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 one required param and no output schema, description does not fully specify parameter semantics or return value. Missing key info for correct invocation.
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 has 0% description coverage. The single parameter 'slug' is not explained in description or schema. Agent cannot know what value to provide.
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 the action (install) and resource (public marketplace skill into library). It distinguishes from sibling tools like listSkills, pullSkill, pushSkill.
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?
Implies use when you want to install a marketplace skill, but no explicit when-not or alternative guidance. Context signals show many sibling tools, but description doesn't differentiate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloud.listSkillsA
List skills in the cloud library. Supports ai_type (skill|hook|steering|system-prompt|rule|agent|memory|spec|instructions|prompt) and source_platform (claude-code|cursor|kiro|amazon-q|copilot|windsurf|codex|agents|modelbound) filters. Each row includes ai_type, source_platform, source_path, and repo for hierarchy-aware orchestration. Requires MODELBOUND_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| ai_type | No | Filter by AI file type (e.g. 'skill', 'hook', 'rule', 'system-prompt'). | |
| source_platform | No | Filter by source platform (e.g. 'claude-code', 'cursor', 'kiro'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, but the description discloses that it lists skills, the returned fields (ai_type, source_platform, source_path, repo), and the API key requirement. It does not mention read-only or idempotency, but for a list operation this is sufficient.
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, front-loaded with the main purpose, no wasted words. Each sentence adds meaningful information.
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 it is a list tool with two optional parameters and no output schema, the description covers filters and output structure adequately. It does not mention pagination or error handling, but these are not critical for a simple list operation.
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%, so baseline is 3. The description adds the specific enum values for ai_type and source_platform (e.g., 'skill|hook|...'), which are missing from the schema examples, providing valuable additional context.
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 the action ('list skills') and the resource ('cloud library'), and distinguishes from siblings like cloud.installMarketplaceSkill by being a listing operation.
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 mentions filters and the requirement for MODELBOUND_API_KEY, but does not provide explicit guidance on when to use this tool versus alternatives like skills.listLocal or cloud.search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloud.pullSkillB
Pull a skill from the ModelBound cloud library. Response includes ai_type, source_platform, source_path, and repo when known. Requires MODELBOUND_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
TDQS
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 usefully discloses the authentication requirement (MODELBOUND_API_KEY) and specifies response fields (ai_type, source_platform, source_path, repo). This adds meaningful behavioral context beyond the action itself, though side effects or mutability are not addressed.
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 extremely concise with only two sentences. The first sentence states the primary action, and the second adds response details and a key requirement. No redundant or irrelevant information is present, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has one parameter and no output schema or annotations, the description provides the action, response fields, and auth requirement. However, it fails to explain the 'slug' parameter, which is essential for usage. Compared to similar tools, this omission makes it incomplete, though the provided details are useful.
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?
The input schema has one required parameter 'slug' with no description, and schema description coverage is 0%. The description does not explain what 'slug' represents or how to use it, failing to add meaning beyond the bare schema. This is a significant gap for the agent to properly invoke the tool.
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 the action 'Pull a skill from the ModelBound cloud library,' using a specific verb and resource. The sibling tools (e.g., cloud.pushSkill, cloud.listSkills) have distinct names that imply different actions, but the description does not explicitly differentiate from them. Thus it is clear but lacks explicit sibling differentiation.
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 gives context for when to use the tool (to pull a skill) but provides no guidance on when not to use it or what alternatives exist (e.g., cloud.listSkills for listing, cloud.pushSkill for uploading). No exclusions or comparisons with siblings are mentioned, leaving the agent without clear decision support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloud.pushSkillB
Create or update a skill in the cloud library. Requires MODELBOUND_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | ||
| title | No | ||
| body_md | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It discloses the upsert behavior ('Create or update') and the API key requirement, but fails to mention error states, whether updates overwrite or merge, rate limits, or idempotency. This is insufficient for a mutation tool.
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 concise at two sentences, with the first sentence stating the purpose and the second noting an important requirement. No unnecessary words, though the parameter information is missing.
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 no output schema, no annotations, and 3 parameters with zero description coverage, the description is too sparse. It does not explain return values, error handling, or the distinction between creation and update, leaving the agent underinformed.
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?
The input schema has 3 parameters (slug, title, body_md) with 0% schema description coverage. The description adds no information about these parameters beyond what is already in the schema definition.
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 'Create or update a skill in the cloud library.' It uses a specific verb (create/update) and resource (skill in cloud library), and distinguishes from sibling tools like cloud.listSkills (list) and cloud.pullSkill (download).
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 mentions the requirement of MODELBOUND_API_KEY, implying authentication context. However, it does not explicitly state when to use this tool versus siblings like cloud.installMarketplaceSkill or cloud.pullSkill, nor does it provide when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloud.resourceTreeA
Return the team's full AI resource hierarchy grouped by platform → top-level directory (.claude/skills, .cursor/rules, .kiro/steering, …) → files. Use this BEFORE listSkills when an orchestrator needs to map available context before loading. Requires MODELBOUND_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| platform | No | Optional: restrict to a single source platform (e.g. 'claude-code'). | |
| repo | No | Optional: restrict to a single repo (e.g. 'org/name'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description carries full burden. It describes the return structure (grouped hierarchy) and mentions API key requirement, but does not disclose any side effects, error handling, or read-only nature. It adds some value beyond the name but lacks depth.
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 sentences, each earning its place: first sentence states purpose, second sentence provides usage guidance and prerequisite. No redundant or vague wording.
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 no required parameters and no output schema, the description provides adequate context about the resource hierarchy structure and when to use. It does not detail return format or pagination, but for a hierarchy retrieval tool, the description is sufficiently complete.
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%, so baseline is 3. The description does not add additional meaning beyond the schema; it only mentions 'Optional: restrict to a single source platform' for 'platform' and similarly for 'repo'. No further elaboration on values or format.
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 uses a specific verb 'Return' and clearly identifies the resource as 'team's full AI resource hierarchy grouped by platform → top-level directory → files'. It explicitly distinguishes from sibling tool 'listSkills' by stating when to use this tool before that one.
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 ('Use this BEFORE listSkills when an orchestrator needs to map available context before loading') and provides a prerequisite ('Requires MODELBOUND_API_KEY'). This gives clear guidance on usage context and alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cloud.searchC
Full-text search across all cloud content. Requires MODELBOUND_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations present. Description only states API key requirement but doesn't clarify if read-only, destructive, rate limits, pagination, or result format.
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 sentences, front-loaded with purpose and requirement. No unnecessary text.
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?
Lacks details on scope of search, output format, error handling. With no output schema or annotations, description is insufficient for full understanding.
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 description coverage is 0%. Description does not explain the single parameter 'q' (e.g., query syntax, format). Adds no meaning 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?
Clearly states 'Full-text search across all cloud content', a specific verb+resource, and distinguishes from sibling tools which are about skills management, resource tree, etc.
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?
Only mentions a prerequisite (requires API key) but provides no guidance on when to use this tool vs alternatives or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
ide.detectLayoutA
Detect which IDE skill/rule layouts exist in the current working directory. Returns the list of matching adapters (e.g. cursor, claude, kiro). Local-only, no network.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full behavioral burden. It discloses local-only and no network, but does not explicitly state side effects (likely none), permissions needed, or error conditions. The behavior is fairly clear but could be more detailed.
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 sentences: first states action and output, second adds constraints. No wasted words, front-loaded with the verb. Very concise and well-structured.
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?
For a simple detection tool with no parameters and no output schema, the description is reasonably complete. It specifies the current working directory, the output (list of adapters), and constraints (local-only). A minor gap is not explaining what 'rule layouts' are exactly, but the examples help.
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?
The input schema has 0 parameters, so schema coverage is 100% and baseline is 4. The description does not need to add parameter meaning, and it does not contradict the 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?
The description clearly states the tool detects IDE skill/rule layouts and returns a list of adapters (e.g., cursor, claude, kiro). The verb 'Detect' combined with the resource 'IDE skill/rule layouts' is specific, and the tool distinguishes itself from siblings (e.g., skills.listLocal focuses on listing skills, not layouts).
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 notes the tool is 'Local-only, no network,' implying it should be used for local detection but does not explicitly state when to use it versus alternatives like cloud.* or skills.* tools. Usage context is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
optimization.healthA
Get token health scores and staleness for your context library. Requires MODELBOUND_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description indicates read-only operation and auth requirement, but no details on side effects or performance.
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 sentences, front-loaded with action verb, 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?
Adequate for a simple parameterless tool, but lacks output schema or return format details.
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, so baseline 4 applies. Description adds context about what the tool returns.
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 verb 'Get' and the resource 'token health scores and staleness for your context library'. Siblings are unrelated, so differentiation is not needed.
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?
Implied usage: call to get health data. Mentions API key requirement but no explicit when to use or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skills.convertA
Convert a skill file from one IDE format to another (e.g. cursor → claude). Round-trips through a canonical {frontmatter, body} representation.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| from | Yes | Source adapter id (e.g. cursor) | |
| to | Yes | Target adapter id (e.g. claude) | |
| outPath | No | Optional output path. If omitted, returns the converted body without writing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must fully disclose behavior. It explains the conversion process through a canonical representation and notes that omitting outPath returns the converted body without writing. However, it does not address error handling, overwrite behavior, or side effects, leaving gaps for an agent.
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 extremely concise with two sentences: the first states the core purpose with an example, the second explains the internal representation. No unnecessary words or repetition, making it easy for an agent to parse quickly.
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 absence of an output schema, the description should explain return values more thoroughly. It mentions returning the converted body but not the format (e.g., string). It also omits error states and prerequisites. For a relatively simple tool, it covers core functionality but lacks completeness in edge cases.
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 description coverage is 75% (missing path description). The description indirectly implies path is the file path, but does not explicitly define it. It adds no additional parameter details beyond the schema, and for the undocumented path parameter, the description does not compensate fully. Baseline for high coverage is 3.
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 the verb 'convert' and resource 'skill file', with an example IDE format conversion (cursor → claude). It distinguishes this tool from siblings like skills.lint or skills.diff by specifying the conversion action and internal canonical representation.
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 an example but lacks explicit guidance on when to use this tool versus alternatives, such as when to convert vs. when to lint or diff. No prerequisites or limitations are mentioned, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skills.diffA
Diff a local skill file against its cloud counterpart by slug. Local-side diff is computed here; the cloud half requires MODELBOUND_API_KEY.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Local skill file path. | |
| slug | Yes | Cloud skill slug to compare against. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It reveals the key requirement and that only the local side is computed. However, it does not specify whether the diff is destructive (likely read-only), the output format, or error handling. A more transparent description would clarify these aspects.
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 concise with two sentences, no unnecessary words. The first sentence front-loads the core purpose, and the second adds a critical behavioral note about the API key. This structure is efficient and easy to parse.
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 lack of an output schema, the description should ideally explain what the diff output contains (e.g., text, structured result). It also does not mention whether the tool is read-only or modifies files. While the key requirement is noted, the overall completeness is moderate; a user might need additional context to fully understand the tool's behavior.
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?
The input schema has 100% description coverage, so the schema already defines both parameters ('path' and 'slug'). The description does not add any additional meaning beyond what the schema provides, maintaining the baseline score of 3.
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 the action: diff a local skill file against its cloud counterpart by slug. It specifies the verb (diff), the resources (local file and cloud counterpart), and the method (by slug). This distinguishes it from sibling tools like cloud.pushSkill or cloud.pullSkill which perform sync operations.
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 some usage guidance by noting that the local-side diff is computed here and the cloud half requires MODELBOUND_API_KEY. This informs the agent that a cloud diff depends on an external credential, helping decide whether this tool is sufficient. However, it does not explicitly state when to prefer this tool over siblings like skills.readLocal or skills.listLocal for comparison tasks.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skills.lintA
Lint a skill file: front-matter, token count, broken links, TODO markers. Local-only.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| maxTokens | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries burden. 'Lint' implies read-only analysis, but this is not explicitly confirmed. No mention of authorization or other traits.
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?
Single sentence with front-loaded verb and resource. Efficient but could be slightly more structured (e.g., list parameters).
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?
Minimal for a simple lint tool. No mention of output format, success/failure behavior, or differentiation from similar sibling tools like skills.validateFormat.
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?
0% schema description coverage; description does not explain 'path' or 'maxTokens' parameters beyond the tool's general purpose. Agent gains no extra meaning.
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?
Clear verb 'Lint' with specific resource 'skill file' and explicit checks (front-matter, token count, broken links, TODO markers). 'Local-only' distinguishes from cloud-based sibling tools.
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?
States it operates on local skill files, implying not for cloud skills. Does not explicitly list alternatives or when to avoid, but the scope is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skills.listLocalA
List all skill / rule files found in the detected IDE directories under the current working directory.
| Name | Required | Description | Default |
|---|---|---|---|
| adapter | No | Optional adapter id to scope the listing. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries full burden. It states the tool lists files from detected IDE directories but does not explain how detection works, whether listing is recursive, or what the output format is.
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?
Single sentence with no wasted words; essential information is front-loaded and easy to parse.
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?
For a simple listing tool with one optional parameter, the description is mostly complete. Lacks details on return format and directory detection criteria, but sufficient for basic understanding.
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% with one parameter 'adapter' described as 'Optional adapter id to scope the listing.' The description adds no additional meaning beyond the schema, so baseline 3 applies.
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 lists skill/rule files from detected IDE directories, using specific verb 'list' and resource 'skill/rule files', distinguishing it from sibling tools like skills.readLocal.
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?
No guidance on when to use this tool vs alternatives such as cloud.listSkills or skills.readLocal. Missing context on preferred scenarios or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skills.readLocalA
Read a local skill file (raw contents). Path must be inside the current working directory.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so description carries burden. States it returns 'raw contents' and enforces path restriction, but does not disclose what happens on invalid path, file absence, or if return is text/binary.
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 sentences, zero wasted words. Front-loaded with action and constraint.
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?
For a simple read tool with one parameter and no output schema, the description is adequate but lacks details on return type and error behavior, leaving some 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?
Schema coverage is 0%, but description adds semantic constraint on the 'path' parameter (must be inside cwd), which is not present in schema. However, no further details on format or allowed values.
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 verb 'Read', resource 'local skill file', and adds constraint 'Path must be inside current working directory'. Distinguishes from sibling tools like skills.listLocal (listing) and skills.writeLocal (writing).
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?
Implies usage for reading raw contents of local skills, but no explicit guidance on when to use versus alternatives or prerequisites beyond the path constraint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skills.validateFormatC
Validate a skill file against the agentskills.io standard.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must disclose behavior. It only says 'validate' without explaining what validation checks are performed, what side effects (if any) occur, or what constitutes success/failure.
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 sentence, which is concise but lacks structure. It is not front-loaded with key information; every word is necessary but insufficient.
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 low complexity (1 param, no output schema), the description is incomplete. It does not mention return values, standard details, or any error handling, leaving the agent guessing.
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?
The single parameter 'path' has no description in the schema (0% coverage) and the tool description does not clarify its expected format (e.g., filesystem path, URL) or constraints.
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 the tool validates a skill file against a specific standard, distinguishing it from sibling tools like skills.lint or skills.convert.
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?
No guidance is provided on when to use this tool vs. alternatives such as skills.lint, which might perform similar validation. No context on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skills.writeLocalA
Write a local skill file. Creates parent directories. Path must be inside the current working directory.
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | ||
| contents | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided. Description discloses parent directory creation and path constraint but omits overwrite behavior, permissions, or side effects of a write operation.
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 concise sentences with no redundancy. Every sentence adds value: what it does, directory creation, and path constraint.
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?
Moderately complete for a write tool with 2 params. Missing overwrite behavior, return value, and error conditions. No 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 has 0% description coverage. Description adds path constraint but does not explain contents format or other details. Baseline of 4 due to 0% coverage is not fully met.
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 the tool writes a local skill file, creates parent directories, and enforces the path constraint. This differentiates it from sibling cloud and read/list tools.
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?
Implies use for writing local skill files but lacks explicit guidance on when to use vs alternatives or when not to use. The path constraint is mentioned but no comparative context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
15 tool updates
v0.3.0- First observed
cloud.installMarketplaceSkill - First observed
cloud.listSkills - First observed
cloud.pullSkill - First observed
cloud.pushSkill - First observed
cloud.resourceTree - First observed
cloud.search - First observed
ide.detectLayout - First observed
optimization.health - First observed
skills.convert - First observed
skills.diff - First observed
skills.lint - First observed
skills.listLocal - First observed
skills.readLocal - First observed
skills.validateFormat - First observed
skills.writeLocal
TDQS
Tools are clearly separated into namespaces (cloud, ide, optimization, skills) with distinct actions. No two tools overlap in purpose; each targets a specific operation (e.g., install vs. list vs. pull).
All tool names follow consistent camelCase with a namespace.verb convention (e.g., cloud.installMarketplaceSkill, skills.convert). No mixing of snake_case or other patterns.
15 tools cover cloud operations (6), local skill management (7), IDE detection (1), and optimization (1). This is well-scoped for a skill management server without being overwhelming.
Covers core CRUD for both cloud and local skills, plus conversion, linting, validation, and health. Missing explicit delete operations for cloud or local skills, but the main workflows are well-served.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Governed AI agent skills — one library, distributed to devs and exposed to remote agents over MCP.
- UnifAPIOAuthcom.unifapi
Hosted MCP server for live public-data APIs and Skills for AI agents.
MCP server for building and testing AI agents with multi-model experimentation and insights.
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA management toolkit for AI agent skills that provides an MCP server for search-first skill discovery and on-demand loading. It enables users to validate, organize, and serve standardized skills to MCP-compatible clients like Cursor and GitHub Copilot.409MIT
- AlicenseBqualityDmaintenanceMCP (Model Context Protocol) Server for skill4agent - Search, view, and install AI skills in AI conversations.3244MIT
- AlicenseAqualityAmaintenanceA universal MCP server that enables any LLM or AI agent to access expert skills from your local filesystem.359838MIT
- AlicenseNot gradedqualityAmaintenanceLocal-first MCP server that provides project context, verification gates, and structured tools for coding agents to discover knowledge, run diagnostics, and execute allowlisted commands within a repository.35MIT
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/ModelBound/modelbound-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server