skillsmp-mcp-server
Enables installing skills to GitHub Copilot, allowing AI agents to search, discover, and install marketplace skills directly within Copilot.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@skillsmp-mcp-serversearch for Python skills sorted by stars"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SkillsMP MCP Server
A Model Context Protocol (MCP) server that enables AI agents to search, discover, and install skills from the SkillsMP marketplace.
Features
Tool | Description |
| Search skills by keywords with pagination and sorting |
| AI-powered semantic search using natural language |
| Read skill content (SKILL.md) from GitHub |
| List available skills in a repository |
| Install skills to AI coding agents |
Related MCP server: skilldb-mcp
Requirements
Node.js 18+
SkillsMP API key (Get one here)
Setup
Claude Code
claude mcp add skillsmp -- npx -y skillsmp-mcp-server --env SKILLSMP_API_KEY=your_api_keyCursor
Add to your Cursor MCP configuration (~/.cursor/mcp.json):
{
"mcpServers": {
"skillsmp": {
"command": "npx",
"args": ["-y", "skillsmp-mcp-server"],
"env": {
"SKILLSMP_API_KEY": "your_api_key"
}
}
}
}Claude Desktop
Add to your Claude Desktop configuration:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"skillsmp": {
"command": "npx",
"args": ["-y", "skillsmp-mcp-server"],
"env": {
"SKILLSMP_API_KEY": "your_api_key"
}
}
}
}Opencode
Add to your Opencode configuration:
{
"mcp": {
"skillsmp": {
"type": "local",
"command": ["npx", "-y", "skillsmp-mcp-server"],
"env": {
"SKILLSMP_API_KEY": "your_api_key"
},
"enabled": true
}
}
}Google Antigravity
Add to your Antigravity MCP configuration:
{
"mcpServers": {
"skillsmp": {
"command": "npx",
"args": ["-y", "skillsmp-mcp-server"],
"env": {
"SKILLSMP_API_KEY": "your_api_key"
}
}
}
}Roo Code
Add to your Roo Code MCP settings:
{
"mcpServers": {
"skillsmp": {
"command": "npx",
"args": ["-y", "skillsmp-mcp-server"],
"env": {
"SKILLSMP_API_KEY": "your_api_key"
}
}
}
}GitHub Copilot
Add to your Copilot MCP configuration:
{
"mcpServers": {
"skillsmp": {
"command": "npx",
"args": ["-y", "skillsmp-mcp-server"],
"env": {
"SKILLSMP_API_KEY": "your_api_key"
}
}
}
}Environment Variables
Variable | Required | Description |
| Yes | Your SkillsMP API key |
| No | Transport type: |
| No | HTTP port when using http transport (default: 3000) |
Usage
Once configured, the MCP server tools become available to your AI assistant.
Search Skills
Search for Python skills sorted by starsAI Semantic Search
Find skills that help with building REST APIs with authenticationList Repository Skills
What skills are available in anthropics/claude-code?Install Skills
Install the frontend-design skill from anthropics/claude-code to Claude CodeAPI Reference
skillsmp_search
Search skills by keywords.
Parameter | Type | Required | Default | Description |
| string | Yes | - | Search keywords |
| number | No | 1 | Page number |
| number | No | 20 | Results per page (max: 100) |
| string | No | stars | Sort by |
skillsmp_ai_search
AI-powered semantic search using natural language.
Parameter | Type | Required | Description |
| string | Yes | Natural language query |
skillsmp_get_skill_content
Read skill content from GitHub repository.
Parameter | Type | Required | Default | Description |
| string | Yes | - | GitHub username/org |
| string | Yes | - | Repository name |
| string | No | - | Path to skill folder |
| string | No | main | Git branch |
skillsmp_list_repo_skills
List all skills in a repository.
Parameter | Type | Required | Description |
| string | Yes | GitHub |
skillsmp_install_skill
Install skills to AI coding agents.
Parameter | Type | Required | Default | Description |
| string | Yes | - | GitHub |
| string | Yes | - | Skill names (comma-separated) |
| string | Yes | - | Target agents (comma-separated) |
| boolean | No | false | Install user-level instead of project-level |
Supported Agents: claude-code, cursor, codex, opencode, antigravity, github-copilot, roo
HTTP Transport
For remote deployments or multi-client scenarios:
SKILLSMP_API_KEY="your_api_key" TRANSPORT=http PORT=3000 npx skillsmp-mcp-serverDevelopment
From Source
git clone https://github.com/anilcancakir/skillsmp-mcp-server.git
cd skillsmp-mcp-server
npm install
npm run build
npm run devRunning Tests
npm run test:runLicense
MIT License - see LICENSE for details.
Links
Built with the Model Context Protocol TypeScript SDK.
Available Tools
5 toolsskillsmp_ai_searchAI Search SkillsARead-onlyIdempotent
Semantic search for skills using natural language queries. Powered by AI to understand intent.
Use this when keywords aren't enough - describe what you want to accomplish.
Parameters:
query: Natural language query (e.g., "How to build REST APIs with authentication")
Examples: "tools for web scraping", "help with React testing", "automate deployments"
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Natural language query for AI semantic search (e.g., 'How to create a web scraper', 'tools for SEO optimization') | |
| response_format | No | Output format: 'markdown' for human-readable or 'json' for machine-readable | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, etc. Description adds the semantic search aspect but no additional behavioral details like pagination or result format. Adequate but not enhanced.
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?
Very concise: short paragraph, parameter list, and examples. No wasted words, well-organized for easy scanning.
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 search tool without output schema, description provides input guidelines, examples, and response_format parameter hint. Could mention return type (list of skills) but overall sufficient.
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 descriptions already cover both parameters (100% coverage). Description adds example queries which provide context but does not add significant new semantics 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?
The description clearly states the tool performs semantic search for skills using natural language queries. It distinguishes from sibling tools like skillsmp_search by emphasizing intent understanding and contrast with keyword search.
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?
Explicitly says 'Use this when keywords aren't enough' providing clear when-to-use guidance. Includes examples but does not explicitly name alternative tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skillsmp_get_skill_contentGet Skill ContentARead-onlyIdempotent
Read skill file content (SKILL.md) from a GitHub repository. Use to preview a skill before installing.
Parameters:
owner: GitHub username/org (e.g., "anthropics")
repo: Repository name (e.g., "claude-code")
path: Path to skill folder (e.g., "plugins/frontend-design/skills/frontend-design")
branch: Git branch (default: "main")
If path has no skill.md, returns directory listing.
| Name | Required | Description | Default |
|---|---|---|---|
| owner | Yes | GitHub repository owner (e.g., 'davila7') | |
| repo | Yes | GitHub repository name (e.g., 'claude-code-templates') | |
| path | No | Path to skill within repo (e.g., 'cli-tool/components/skills/development/senior-prompt-engineer'). If not provided, lists available skills. | |
| branch | No | Git branch (default: 'main') | main |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint=true and idempotentHint=true, indicating safe reads. The description adds valuable behavioral details beyond annotations, such as 'If path has no skill.md, returns directory listing,' which helps the agent understand fallback behavior.
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 6 sentences, front-loaded with the main purpose, then a parameter list with examples, and finally an edge-case behavior. Every sentence adds value without redundancy.
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 preview tool with 4 parameters and no output schema, the description covers parameters, fallback behavior, and usage context. It could mention that the content is raw markdown, but that is implied by 'reads skill file content.' Overall, it 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 description coverage is 100%, so baseline is 3. The description adds concrete examples for each parameter (e.g., 'owner: GitHub username/org (e.g., "anthropics")' and path examples), which adds meaning beyond the schema's basic descriptions.
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 it reads skill file content (SKILL.md) from a GitHub repository for previewing before installation. The verb 'read' and resource 'skill file content' are specific, and the context 'from a GitHub repository' is unambiguous. It distinguishes from sibling tools like install and list.
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?
Explicitly states 'Use to preview a skill before installing,' which provides clear when-to-use guidance. Sibling tools like install and list are implied alternatives, but no explicit when-not-to-use or exclusions are given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skillsmp_install_skillInstall SkillA
Install skills from GitHub to AI coding agents.
Parameters:
source: GitHub "owner/repo" (e.g., "anthropics/claude-code") [REQUIRED]
skills: Skill names, comma-separated (e.g., "frontend-design,backend-dev") [REQUIRED]
agents: Target agents, comma-separated [REQUIRED] Valid: claude-code, cursor, codex, opencode, antigravity, github-copilot, roo
global: Install user-level instead of project-level (default: false)
Example: source="anthropics/claude-code", skills="frontend-design", agents="claude-code"
| Name | Required | Description | Default |
|---|---|---|---|
| source | Yes | GitHub shorthand 'owner/repo' (e.g., 'davila7/claude-code-templates'), full GitHub URL, or local path | |
| skills | Yes | Skill names to install (comma-separated: 'skill1,skill2' or array). REQUIRED. | |
| agents | Yes | Target agents (comma-separated: 'claude-code,cursor'). Valid: opencode, claude-code, codex, cursor, antigravity, github-copilot, roo. REQUIRED. | |
| global | No | Install globally (user-level) instead of project-level (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false, so the description correctly implies a write operation. It adds details about installation scope (project vs global) but does not mention side effects like overwriting existing skills or required permissions.
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 a front-loaded purpose, followed by parameter details and an example. Every sentence adds value without redundancy.
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 tool with 4 parameters and no output schema, the description provides adequate purpose, parameter details, and an example. It lacks information on return values or error handling, but is otherwise 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 rephrases parameters and adds an example but does not significantly extend meaning beyond the schema descriptions (e.g., valid agents are listed in schema too).
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 'Install skills from GitHub to AI coding agents,' which is a specific verb-resource pair. It distinguishes from sibling tools like skillsmp_ai_search or skillsmp_get_skill_content by focusing on installation.
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 explains parameters and provides an example but does not explicitly state when to use this tool versus alternatives or when not to use it. Usage is implied but not formally guided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skillsmp_list_repo_skillsList Repository SkillsARead-onlyIdempotent
List all available skills in a GitHub repository without installing.
Parameters:
source: GitHub shorthand "owner/repo" (e.g., "anthropics/claude-code")
Returns skill names and descriptions found in the repository.
| Name | Required | Description | Default |
|---|---|---|---|
| source | Yes | GitHub shorthand 'owner/repo' (e.g., 'davila7/claude-code-templates') or full GitHub URL |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, non-destructive, idempotent, and open-world. Description adds that it returns skill names and descriptions, providing useful behavioral detail beyond 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?
Short and to the point, but the parameter list duplicates schema info, slightly reducing conciseness.
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 list tool with comprehensive annotations, the description fully covers purpose, parameter, and return content. No gaps identified.
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 a clear description for the source parameter. The description provides an example (anthropics/claude-code) but doesn't add significant new 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?
Clearly states the action (list), resource (skills in a repository), and a key distinction (without installing). Differentiates from sibling install_skill.
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?
Implicitly suggests use when exploring repository skills before installation, but lacks explicit when-to-use versus alternatives like search.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
skillsmp_searchSearch SkillsARead-onlyIdempotent
Search SkillsMP marketplace for AI coding skills by keywords.
Parameters:
query: Search terms (e.g., "fastapi", "react testing")
page: Page number (default: 1)
limit: Results per page (default: 20, max: 100)
sort_by: "stars" (default) or "recent"
Returns skills with name, description, author, stars, and GitHub URL.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Search query for skills (e.g., 'SEO', 'web scraper', 'data analysis') | |
| page | No | Page number for pagination | |
| limit | No | Items per page (default: 20, max: 100) | |
| sort_by | No | Sort results by: 'stars' (default) or 'recent' | stars |
| response_format | No | Output format: 'markdown' for human-readable or 'json' for machine-readable | markdown |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds that results include name, description, author, stars, and GitHub URL, and explains pagination defaults and sorting. This extends transparency without contradiction.
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, starting with the purpose then listing parameters in a structured bullet-like format. It uses clear labels and examples without extraneous text. Could slightly benefit from better paragraph flow.
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 5 parameters and no output schema, the description covers basic functionality (return fields, pagination, sorting) but lacks details on error handling, empty results, or rate limits. It is adequate for a simple search tool but not fully comprehensive.
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 repeats schema descriptions for query, page, limit, sort_by and adds examples (e.g., 'fastapi', 'react testing') and clarifies defaults. However, no new semantic meaning beyond schema is provided.
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 explicitly states the tool searches 'SkillsMP marketplace for AI coding skills by keywords', providing a specific verb (search) and resource (marketplace for coding skills). It clearly distinguishes from siblings like skillsmp_install_skill or skillsmp_list_repo_skills by focusing on search.
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 no guidance on when to use this tool versus sibling tools like skillsmp_ai_search or skillsmp_list_repo_skills. It lacks explicit advice on contexts or alternatives, leaving selection to the agent without criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose: semantic search, content reading, installation, repo listing, and keyword search. No overlap.
All tools use the 'skillsmp_' prefix followed by a verb_noun pattern (ai_search, get_skill_content, install_skill, list_repo_skills, search), creating a predictable and clear naming convention.
Five tools is an ideal size for a skills marketplace MCP server, covering the core workflow of discovery, preview, and installation without being excessive.
The tool set covers the essential lifecycle (search, preview, install) for skills. Missing uninstall or update tools, but these are secondary to the primary use case.
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
Marketplace of MCP servers and agent skills, free and paid, where developers publish and monetise.
Capability registry for the agentic economy. Semantic search over verified MCP server listings.
Search & install 6,500+ AI agent skills from skills-hub.ai inside any MCP tool.
Search and install 4,000+ security-scanned MCP servers from inside any MCP-aware AI client.
Related MCP Servers
AlicenseAqualityFmaintenanceMCP server for discovering and installing AI agent skills from agentskill.sh. Search skills across platforms, browse trending skills, and install them with built-in security scanning.4133MIT- AlicenseNot gradedqualityCmaintenanceMCP server for SkillDB that enables AI assistants to search, load, and manage AI agent skills directly.97MIT
- AlicenseNot gradedqualityDmaintenanceA powerful MCP server that brings the skills.sh ecosystem directly to your AI agents, enabling effortless discovery, installation, and management of skills.1MIT
- AlicenseAqualityCmaintenanceA lightweight MCP server that enables AI assistants to search and read skills from the SkillsMP marketplace with optional security scanning.3461MIT
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/anilcancakir/skillsmp-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server