Developer Portal
Integrate with the SkillsMP API to discover 2M+ Agent Skills programmatically. Build agent-ready applications with our REST API, MCP server, and OpenAPI specification.
Keyword Search
Search 2M+ skills by keyword with filtering by category, occupation, content language, and sort order.
MCP Server
Connect Claude, ChatGPT, and other AI agents directly to SkillsMP via Model Context Protocol.
REST API Limits
REST keyword search supports anonymous access and human-managed API keys, with separate daily and burst quotas for each tier.
OpenAPI Spec
Auto-generated OpenAPI 3.0 specification for automatic client generation and discovery.
Multi-Language SDKs
cURL, JavaScript, Python examples. Generate typed clients from our OpenAPI spec.
REST Agent Authentication
Step-by-step guide for AI agents using human-managed REST API keys. MCP does not require these credentials.
Webhooks & Polling
How agents stay in sync with the catalog: polling patterns, timeline feed, and webhook roadmap.
REST API Quickstart
Get an API Key
Sign in and generate your API key from the dashboard. Anonymous access is also available with lower rate limits.
Make your first request
Search skills using the REST API. Replace YOUR_API_KEY with your actual key, or omit the header for anonymous access.
curl -X GET "https://skillsmp.com/api/v1/skills/search?q=SEO&language=zh" \
-H "Authorization: Bearer YOUR_API_KEY"const response = await fetch(
'https://skillsmp.com/api/v1/skills/search?q=SEO&language=zh',
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY'
}
}
);
const data = await response.json();
console.log(data.data.skills);import requests
response = requests.get(
'https://skillsmp.com/api/v1/skills/search',
params={'q': 'SEO', 'language': 'zh'},
headers={'Authorization': 'Bearer YOUR_API_KEY'}
)
data = response.json()
print(data['data']['skills'])Explore the API
Read the full API documentation for detailed endpoint references, error codes, and rate limiting information.
Read API DocumentationMCP Server
SkillsMP exposes a Model Context Protocol (MCP) server, allowing MCP-capable coding agents to search and discover skills natively. Use Streamable HTTP transport for direct tool discovery.
Connect SkillsMP to your agent
Copy one short prompt. Your agent will fetch the official instructions, add the read-only SkillsMP MCP server, verify its tools, and report whether a restart is needed.
Fetch and execute the appropriate instructions to connect this agent to SkillsMP from [https://skillsmp.com/agent-setup/prompt.md?source=developers_mcp](https://skillsmp.com/agent-setup/prompt.md?source=developers_mcp)Open setup instructionsServer Endpoint
POST https://skillsmp.com/mcpThis is a machine endpoint. Opening it in a browser sends GET and returns 405 by design.
Discovery
GET https://skillsmp.com/.well-known/mcp/server-card.jsonMCP access & limits
The public MCP server is read-only and does not require a SkillsMP API key. REST API keys do not increase MCP limits.
- MCP POST traffic
- 50 requests per 10 seconds per client IP
- Valid tool calls
- 30
tools/callrequests per 60 seconds per client IP
There is no daily MCP quota. Every POST consumes ingress capacity; a valid tools/call request also consumes one tool-call unit. Requests such as initialize and tools/list count only toward the POST limit. On HTTP 429, honor Retry-After before retrying.
Available Tools
search_skillsSearch skills by keyword, occupation, or content language
get_skillGet detailed information about a specific skill
list_categoriesBrowse all skill categories and domains
API Sandbox
Test the REST search API directly in your browser. No API key is required (anonymous configured limit: 50 requests/day).
REST API Agent Authentication
Step-by-step guide for AI agents (Claude, ChatGPT, autonomous pipelines, bots) using the SkillsMP REST API. No OAuth or user interaction is required at runtime after a human owner provisions the long-lived API key. MCP uses a separate no-key access policy.
Provision an API key (one-time, human-in-the-loop)
The owning human signs in at /auth/login (Google or GitHub), opens the Developer Portal dashboard, and generates an API key. Store the key in the agent's secret manager (env var, vault, KMS).
Send the key on every request
Add the Authorization header. Treat the key as a bearer token — do not put it in the URL, query string, or client-side code.
Authorization: Bearer sk_live_your_api_keyHandle REST rate limits gracefully
REST responses admitted to the search handler include daily and minute remaining headers. A minute-level 429 includes Retry-After; a daily 429 resets at 00:00 UTC. Anonymous: 50/day · 10/min. Authenticated: 500/day · 30/min.
# Python: retry only the minute-level limit
r = requests.get(url, headers={'Authorization': f'Bearer {API_KEY}'})
if r.status_code == 429:
error_code = r.json().get('error', {}).get('code')
if error_code == 'RATE_LIMITED':
time.sleep(int(r.headers.get('Retry-After', '60')))
r = requests.get(url, headers={'Authorization': f'Bearer {API_KEY}'})
else:
raise RuntimeError('Daily REST quota exhausted; retry after 00:00 UTC')Identify your agent (recommended)
Set a descriptive User-Agent so we can reach you if we detect issues. Example: SkillsMPClient/1.0 (+https://your-agent.example)
Prefer MCP for tool-calling agents
If your agent supports Model Context Protocol, connect to https://skillsmp.com/mcp instead of calling REST directly. MCP is public, read-only, and uses separate per-IP limits; REST API keys do not create a higher MCP tier.
Security: API keys do not expire. Rotate from the Developer Portal if exposed. Anonymous requests (no key) work for keyword search but are heavily rate-limited and not recommended for production agents.
Webhooks
SkillsMP does not currently emit outbound webhooks or provide a catalog-wide change feed. For scoped monitoring, agents can poll a saved keyword search or use the aggregate timeline below.
Poll a saved keyword search
Use a concrete q with sortBy=recent, then compare updatedAt in that result set. Wildcard searches are not supported.
GET /api/v1/skills/search?q=playwright&sortBy=recent&limit=50Poll via MCP
MCP-enabled agents can call search_skills with a concrete query on a timer — no outbound HTTPS endpoint required on your side.
Timeline feed
For aggregate growth/update trends, use the public timeline feed:
GET /api/timeline?granularity=daily&limit=30Roadmap: Outbound webhooks for new-skill and update events are planned. If you have a concrete use case, open an issue on GitHub or reach us via the About page so we can prioritize.
REST search access & limits
These configured limits apply only to GET /api/v1/skills/search. They do not apply to POST /mcp.
Anonymous REST
- Daily limit: 50 requests
- Burst limit: 10 requests/minute
- No API key required
- Counted per client IP
REST with API key
- Daily limit: 500 requests
- Burst limit: 30 requests/minute
- API key required in Authorization header
- Counted per authenticated user
Daily counters reset at 00:00 UTC. Responses admitted to the REST search handler include X-RateLimit-Daily-* and X-RateLimit-Minute-* headers. A minute-level RATE_LIMITED response includes Retry-After; a DAILY_QUOTA_EXCEEDED response exposes the exhausted daily window.