skills-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| QDRANT_URL | Yes | The URL of your Qdrant Cloud cluster | |
| QDRANT_API_KEY | Yes | Your Qdrant Cloud API key | |
| RATE_LIMIT_RPM | No | Optional rate limit in requests per minute (default 60) | 60 |
| WORKERS_AI_API_TOKEN | Yes | Your Cloudflare API token for Workers AI | |
| WORKERS_AI_ACCOUNT_ID | Yes | Your Cloudflare account ID for Workers AI |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| skills_find_relevantA | STEP 1 - Discover relevant skills. Call this FIRST at the start of any task to check whether the registry contains a curated skill that matches. Performs semantic vector search and returns ranked results with similarity scores. Workflow after this call: • score > 0.6 → strong match - call skills_get_body with that skill_id • score 0.4–0.6 → possible match - inspect description before proceeding • score < 0.4 → no relevant skill - proceed without one Query tips: be task-specific, not generic. 'write pytest unit tests for a Flask REST API' outperforms 'testing'. Describe what you are trying to accomplish, not what you want to find. |
| skills_get_bodyA | STEP 2 - Load full skill instructions. Call after skills_find_relevant once you have identified the best-matching skill_id. Returns three fields: • instructions - expert step-by-step guidance; read and follow these • system_prompt_addition - optional context to add to your persona (may be empty) • tier3_manifest - lists available references, scripts, and assets by filename After loading: apply the instructions. If tier3_manifest lists files that the instructions explicitly reference, fetch them with skills_get_reference, skills_run_script, or skills_get_asset. Most tasks are fully served by the instructions alone - do not load Tier 3 speculatively. Version pinning: pass version='1.2' to pin to a specific skill version, or use the inline form skill_id='stripe-integration@1.2'. If the requested version is not found, the latest version is returned with a version_note explaining the fallback. Deprecated skills include a deprecation_notice field naming the replacement. |
| skills_get_optionsA | OPTIONAL STEP 2b - Load config schema, variants, and constraints for a skill. Call only when: (a) the user asks to customise skill behaviour, or (b) skills_get_body instructions mention configurable options. Returns: config_schema (JSON Schema for parameters), variants (alternative skill modes), dependencies (required tools/packages), limitations (known constraints). Do NOT call this by default - most tasks complete with skills_get_body alone. |
| skills_get_referenceA | STEP 3a - Fetch a reference document bundled with a skill (markdown files: checklists, policies, API specs, examples). Two-phase use:
Only call when: tier3_manifest from skills_get_body lists reference files AND the skill instructions explicitly name one. Do not load references speculatively. |
| skills_run_scriptA | STEP 3b - Execute a helper script bundled with a skill. Script source is NEVER returned - only stdout, stderr, and exit_code. Two-phase use:
input_data: key-value pairs passed to the script as environment variables. Scripts run sandboxed in an isolated temp directory with a 30-second hard timeout. Only call when skill instructions direct you to run a specific script. |
| skills_get_assetA | STEP 3c - Fetch a template or static resource bundled with a skill (markdown templates, config starters, example data files). Two-phase use:
Use the returned content as a starting template - adapt it to the specific task. Only call when skill instructions reference a specific asset file. |
| skills_list_allA | BROWSING - Browse all 100+ available skills in the registry without semantic search. Use this when you want to see what skills are available, understand the full breadth of the registry, or look for skills by browsing rather than searching. Returns lightweight frontmatter for each skill (skill_id, name, tags, complexity_level, has_tier3) to keep token usage reasonable. Supports pagination: use offset to skip results, limit to control batch size. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 7 tools
Most tools are clearly distinct, with find_relevant/list_all for discovery and get_body/get_options for loading skill configuration. Some potential confusion exists between get_reference, get_asset, and run_script since all handle Tier 3 files, but the descriptions and two-phase list pattern help differentiate them.
All tools follow a consistent skills_ prefix with snake_case and a clear verb_noun structure (get_body, list_all, run_script, find_relevant). This makes the toolset predictable and easy to navigate.
Seven tools cover the full skill consumption workflow without redundancy or bloat. Each tool serves a distinct stage in the process, from discovery to loading instructions to fetching optional Tier 3 resources.
The toolset covers the complete lifecycle for consuming a skill: semantic search, browsing, loading instructions, optional configuration, references, assets, and script execution. No critical gaps are apparent for a skill-consumer-oriented MCP server.