skillmd
Server Details
Search, fetch, lint, and install Agent Skills (SKILL.md) from the SkillMD registry.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- skillmds/skillmd
- GitHub Stars
- 1
- Server Listing
- skillmds
Available Tools
5 toolsskillmd_downloadDownload skill filesARead-onlyIdempotentInspect
Return the full contents of any public skill by owner/name slug: the SKILL.md text plus every companion file for packs, ready to write to disk. Skills are plain-text instructions an agent reads on demand; nothing executes, and every listed skill has passed SkillMD's safety review.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Skill identifier as owner/name, e.g. anthropic/pdf |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | Yes | owner/name of the skill |
| files | Yes | Every file in the skill, SKILL.md first |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive. The description adds extra context that skills are 'plain-text instructions' and 'nothing executes', plus every listed skill has passed safety review, which goes beyond the annotations to explain the safe nature and content type.
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, front-loaded with the primary purpose, and uses two clear sentences. No redundant or vague terminology, and every sentence contributes useful 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 the single parameter and the presence of an output schema, the description is complete: it explains what is returned (full contents and companion files), the format (plain-text), the safety aspect, and the intended use (ready to write to disk). No critical usage context is missing.
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 schema already provides a description and example for the slug parameter (100% coverage). The tool description merely repeats 'owner/name slug' without adding new parameter-specific semantics, so the baseline of 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?
The description clearly states the specific action (return full contents), the resource (public skill by owner/name slug), and differentiates from siblings by emphasizing 'full contents' and 'every companion file for packs', which implies a complete download rather than a single item retrieval.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for downloading full skill packs (e.g., 'ready to write to disk') but does not explicitly contrast with alternatives like skillmd_get or provide when-to-use/when-not-to-use guidance. The context is implicit, not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skillmd_getGet skill detailsARead-onlyIdempotentInspect
Fetch one skill by owner/name slug: description, SKILL.md body, provenance (source repo and pinned commit), license, safety verdict and capability flags, plus companion file listing for packs.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Skill identifier as owner/name, e.g. anthropic/pdf |
Output Schema
| Name | Required | Description |
|---|---|---|
| slug | Yes | owner/name identifier, e.g. anthropic/pdf |
| tags | No | |
| type | No | single SKILL.md or a multi-file pack |
| files | No | Companion files for packs |
| title | Yes | Human-readable skill title |
| raw_md | No | Verbatim SKILL.md including frontmatter when stored |
| body_md | No | Markdown body of SKILL.md |
| license | No | SPDX license id when declared |
| category | No | Category name |
| verified | No | Published by a verified publisher |
| categories | No | |
| commit_sha | No | Pinned upstream commit |
| owner_name | No | Publisher display name |
| repo_stars | No | GitHub stars of the source repository |
| description | Yes | What the skill does and when an agent should use it |
| source_repo | No | Upstream repository |
| owner_handle | No | Publisher handle |
| security_flags | No | Capability flags: docs_only, network_calls, executes_scripts, reads_secrets, untrusted_install |
| install_snippet | No | One-line install command |
| ai_audit_verdict | No | Safety review verdict: pass, caution, warning, fail or inconclusive |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the operation read-only, idempotent, and non-destructive. The description adds useful behavioral detail by listing exactly what data is returned, including provenance, license, safety verdict, capability flags, and companion files. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that front-loads the action and then efficiently lists the returned fields. Every phrase contributes useful information and there is no redundant 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?
For a simple read-only tool with one parameter, a rich output schema, and safety annotations, the description covers all necessary context: what it fetches, how it is identified, and what the result includes. Nothing essential is missing.
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 100% and already documents the slug as an owner/name identifier with an example. The description's 'owner/name slug' phrasing repeats this meaning without adding new format or validation information, so the baseline of 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?
The description states a specific verb ('Fetch'), a specific resource ('one skill by owner/name slug'), and enumerates the returned content, distinguishing it clearly from sibling tools like skillmd_search or skillmd_download. The scope is unambiguous.
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 phrase 'Fetch one skill by owner/name slug' clearly implies this tool is for retrieving a known skill by its identifier, while the sibling names suggest alternatives for searching, recommendation, and trending. It does not explicitly state when not to use it, but the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skillmd_recommendRecommend skillsARead-onlyIdempotentInspect
Recommend skills. With based_on set to a skill's owner/name slug, returns the top skills in that skill's category (excluding itself); without it, returns what is trending over the last 30 days.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results (default 10) | |
| based_on | No | Skill slug (owner/name) to base recommendations on |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | Matching skills, best first |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint, so the safety profile is covered. The description adds meaningful behavioral context: based_on restricts results to the skill's category, excludes the skill itself, and the no-argument fallback returns trending over the last 30 days. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences carry all essential information with no filler. The primary action is front-loaded, and the conditional modes are described compactly in one sentence each.
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 only two optional parameters, an output schema present, and annotations covering safety, the description is complete. It explains both parameter modes and the default behavior, so an agent has enough context to select and invoke the tool correctly.
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 the baseline is 3. The description adds real semantic value beyond the schema by explaining what based_on means in practice (category-based recommendations, excluding itself, falling back to trending). Limit is not described in the description, but the schema fully documents its constraints and default.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Recommend skills') and precisely defines two modes of behavior: category-based recommendations when based_on is present, and 30-day trending when it is absent. This clearly distinguishes it from sibling tools like skillmd_get, skillmd_search, and skillmd_trending by describing the selection criteria and behavior.
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 explicit conditional usage: set based_on for skill-category recommendations, omit it for trending results. It does not explicitly name alternatives or state when not to use this tool, but the conditional logic provides clear guidance for the two supported modes.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skillmd_searchSearch skillsARead-onlyIdempotentInspect
Search the SkillMD registry of Agent Skills (SKILL.md files) by task, name or keywords. Returns matching skills with their owner/name slug, description, category, safety verdict and install snippet, best match first.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Restrict to single-file skills or multi-file packs | |
| limit | No | Maximum number of results (default 20) | |
| query | Yes | Natural-language query or keywords describing the task or skill | |
| category | No | Restrict to one category slug, e.g. coding, devops, data, security | |
| min_rating | No | Minimum average rating, 0 to 5 | |
| verified_only | No | Return only skills from verified publishers (default false) |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | Matching skills, best first |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish this as safe, read-only, and idempotent. The description adds useful behavioral context such as 'best match first' and the specific returned fields, but does not disclose deeper operational behavior like result count limits, empty-result handling, or ranking caveats.
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 one tight sentence that front-loads the action and resource, clearly states search dimensions, and lists the useful return fields. There is no filler or redundant repetition of the schema.
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 rich input schema, output schema, and safety annotations, the description is largely sufficient for an agent to call the tool correctly. The main gap is the lack of explicit guidance on how this search tool relates to sibling tools such as recommend and trending.
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 100%, so every parameter is already documented. The description adds little param-specific semantics beyond confirming that the query can be a natural-language task, name, or keyword, which aligns with the query parameter.
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 names a specific verb ('Search'), a specific resource ('SkillMD registry of Agent Skills'), and the search dimensions (task, name, keywords). It clearly conveys what the tool does, though it does not explicitly contrast with sibling tools like skillmd_get or skillmd_recommend.
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 implies that this tool should be used when an agent needs to find matching skills in the registry, and it mentions the returned result fields. However, it does not explicitly state when to prefer this over siblings or when not to use it, leaving usage guidance mostly implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skillmd_trendingTrending skillsARead-onlyIdempotentInspect
Top skills on the SkillMD leaderboard, ranked by installs, saves and ratings, optionally within one category and time window.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results (default 20) | |
| range | No | Ranking window: last 30 days or all time (default all) | |
| category | No | Restrict to one category slug, e.g. coding, devops, data, security |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | Yes | Matching skills, best first |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds useful behavioral context about ranking criteria and optional filtering, but does not disclose details like pagination behavior or data freshness. This is acceptable given the strong annotation coverage.
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, well-structured sentence that front-loads the core purpose and then adds optional filtering context. Every phrase earns its place with 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?
For a read-only, low-complexity tool with three optional parameters, a complete output schema, and strong annotations, the description provides sufficient context. It explains the ranking criteria and optional filters, leaving no critical gap for an agent to call the tool correctly.
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 100%, so the schema already documents all three parameters. The description reinforces the category and time-window concepts and adds the ranking basis, but it does not add meaningful parameter-level detail beyond what the schema provides.
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 identifies a specific resource ('SkillMD leaderboard') and a precise ranking basis ('installs, saves and ratings'). It also conveys optional filtering by category and time window, which distinguishes it from generic search or get operations among siblings.
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 implies when to use the tool: when an agent needs top skills from the leaderboard with optional filters. However, it does not explicitly state when not to use it or mention alternative sibling tools like skillmd_search or skillmd_recommend, leaving some routing to inference.
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.
5 tool updates
- First observed
skillmd_download - First observed
skillmd_get - First observed
skillmd_recommend - First observed
skillmd_search - First observed
skillmd_trending
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Search your team's shared AI-skill library, get install commands, and save skills from your agent.
Find, inspect and install reviewed reusable AI-agent capabilities from superskill.sh.
Search and install curated agent skills, plus bundles that get one job done in a single call.
Search and discover Agent Skills from the skills.sh registry. Powered by HAPI MCP server.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to discover, install, and manage SKILL.md skills from a Git-backed registry via MCP tools for search, install, and list operations.171MIT
- AlicenseAqualityBmaintenanceEnables AI agents to autonomously search, evaluate, and install skills from the skills.sh catalog.245ISC
- AlicenseAqualityCmaintenanceEnables discovery and installation of agent skills from curated GitHub repositories, allowing users to search large collections and inspect skill contents directly. It supports downloading skills locally and provides grounded scaffolds for creating new skills based on existing patterns.52MIT
- AlicenseAqualityBmaintenanceEnables MCP hosts to discover, browse, and load Agent Skills from one or many SKILL.md libraries over the Model Context Protocol, with namespaced libraries, search/list/get tools, progressive disclosure, and a digest-verified pull client for syncing skills to disk.71MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool targets a distinct workflow: search and trending discover skills, recommend provides context-based suggestions, get returns metadata and body, download retrieves full files. There is mild overlap between get and download since both expose the SKILL.md body, but the descriptions clearly separate inspection from file retrieval.
All tools share the skillmd_ prefix and lowercase snake_case style, giving the set a cohesive feel. Most names use clear actions (download, get, recommend, search), though trend is a noun rather than a verb, making it a slight deviation from the otherwise action-oriented pattern.
Five tools is well-scoped for a skill registry server covering discovery, recommendation, metadata lookup, and full content download. Each tool earns its place and the set is neither bloated nor too thin.
The consumer-facing workflow is well covered: an agent can search, see trends, get skill details, and download full contents ready to use. Publishing or managing registry entries is not covered, but that appears to be outside the stated purpose of reading public skills.