{"protocol":"WebMCP (W3C Web Machine Learning CG Draft) & Model Context Protocol","service":"SkillsWebMcp Agent Tools Bridge","version":"1.0.0","description":"Production WebMCP and MCP server providing GitHub-scraped SKILL.md instruction files. LLMs discover skills via search, load the SKILL.md markdown, and follow its instructions themselves — no server execution.","professionalDecomposition":{"instruction":"Act as a professional: before searching, decompose your task into required skill domains and search each domain separately. Do not search the literal task phrase if it is too specific.","example":{"task":"beautiful waterfall animation","domains":["animation","3d","canvas","shader","gsap","motion design","ui"],"searches":["animation","3d","canvas-design","shader","gsap"],"note":"Combine results from 2-3 domain searches, then pick 1-2 best skills and load their SKILL.md."},"rule":"If a search returns 0 results, broaden to domain terms (animation, ui, 3d, three.js, webgl, shader, gsap, canvas, particle, motion) and combine.","availableDomains":["animation","ui","3d","three.js","webgl","shader","gsap","canvas","particle","motion","design","frontend","tailwind","lottie","scroll"]},"quickStart":{"step0_decompose":"Decompose task into domains first (e.g., waterfall -> animation + 3d + canvas + shader)","step1_search":"POST https://swmcp.vercel.app/api/webmcp/invoke  body {\"name\":\"search_skills\",\"args\":{\"keyword\":\"<domain>\"}}  (repeat for 2-3 domains)","step2_load":"POST https://swmcp.vercel.app/api/webmcp/invoke  body {\"name\":\"get_skill_manual\",\"args\":{\"skillIdOrName\":\"<id-from-step1>\"}}","getFallback":"GET https://swmcp.vercel.app/api/skills?search=<domain>&limit=5  (no JSON body needed)","curl_search":"curl.exe -X POST https://swmcp.vercel.app/api/webmcp/invoke -H \"Content-Type: application/json\" -d '{\"name\":\"search_skills\",\"args\":{\"keyword\":\"<domain>\"}}'","curl_load":"curl.exe -X POST https://swmcp.vercel.app/api/webmcp/invoke -H \"Content-Type: application/json\" -d '{\"name\":\"get_skill_manual\",\"args\":{\"skillIdOrName\":\"<id>\"}}'","powershell_search":"Invoke-RestMethod -Uri \"https://swmcp.vercel.app/api/webmcp/invoke\" -Method Post -ContentType \"application/json\" -Body '{\"name\":\"search_skills\",\"args\":{\"keyword\":\"<domain>\",\"limit\":5}}'","powershell_load":"Invoke-RestMethod -Uri \"https://swmcp.vercel.app/api/webmcp/invoke\" -Method Post -ContentType \"application/json\" -Body '{\"name\":\"get_skill_manual\",\"args\":{\"skillIdOrName\":\"<id>\"}}'"},"agentInstructions":{"role":"You are an intelligent AI Agent with access to SkillsWebMcp SKILL.md instruction files.","howToUseWebMCP":["0. Decompose like a pro: Break your task into skill domains first (e.g., \"waterfall animation\" -> animation + 3d + canvas + shader + gsap). Search each domain separately — do NOT search the literal phrase if it is too specific.","1. HTTP / REST Agent: Call POST `${baseUrl}/api/webmcp/invoke` with JSON body `{\"name\": \"search_skills\", \"args\": {\"keyword\": \"<domain>\"}}` to discover SKILL.md files. No browser needed. Repeat for 2-3 domains and combine results.","2. Load SKILL.md: Call POST `${baseUrl}/api/webmcp/invoke` with `{\"name\": \"get_skill_manual\", \"args\": {\"skillIdOrName\": \"<skill-id>\"}}` — returns the full SKILL.md markdown. Read it and follow its instructions yourself.","3. In-Browser: Pages embedding <script src=\"${baseUrl}/api/webmcp/script\"></script> expose the WebMCP API on document.modelContext. Discover tools with `await document.modelContext.getTools()` and run one with `await document.modelContext.executeTool(tool, {keyword: \"...\"})` (navigator.modelContext and callTool(name, args) are kept as aliases).","4. MCP JSON-RPC 2.0: Connect to POST `${baseUrl}/api/mcp` or SSE `${baseUrl}/api/mcp/sse`. Use tools search_agent_skills and get_skill_manual, or resources/list and resources/read for SKILL.md files."],"quickWorkflow":{"step1_search":{"tool":"search_skills","httpExample":"curl -X POST https://swmcp.vercel.app/api/webmcp/invoke -H \"Content-Type: application/json\" -d '{\"name\":\"search_skills\",\"args\":{\"keyword\":\"unlazy\"}}'"},"step2_manual":{"tool":"get_skill_manual","httpExample":"curl -X POST https://swmcp.vercel.app/api/webmcp/invoke -H \"Content-Type: application/json\" -d '{\"name\":\"get_skill_manual\",\"args\":{\"skillIdOrName\":\"<skill-id-from-search>\"}}'","note":"Returns the full SKILL.md markdown. Read it and follow its instructions — do not try to execute it as a server tool."}}},"endpoints":{"introAndSpec":"https://swmcp.vercel.app/api/webmcp/intro","toolsList":"https://swmcp.vercel.app/api/webmcp/tools","invokeTool":"https://swmcp.vercel.app/api/webmcp/invoke","clientPolyfillScript":"https://swmcp.vercel.app/api/webmcp/script","mcpRpcEndpoint":"https://swmcp.vercel.app/api/mcp","mcpSseEndpoint":"https://swmcp.vercel.app/api/mcp/sse","repositoriesList":"https://swmcp.vercel.app/api/skills/repositories"},"availableWebTools":[{"name":"search_skills","description":"Universal Search Tool: Searches 4,900+ agent skills by domain keyword. Act as a professional: decompose your task into skill domains first (e.g., \"waterfall animation\" -> animation, 3d, canvas, shader, gsap) and search each domain separately. Do NOT search the literal task phrase if too specific. Alias: webmcp_search_skills_dom, search_agent_skills.","inputSchema":{"type":"object","properties":{"keyword":{"type":"string","description":"Domain keyword to search (e.g., \"animation\", \"3d\", \"canvas\", \"shader\", \"gsap\"). Decompose your task into domains first — do not search literal phrases like \"waterfall animation\"."},"category":{"type":"string","description":"Optional category filter"},"limit":{"type":"number","description":"Max results to return (default 10)"}},"required":["keyword"]},"actionType":"api_fetch","targetSelector":"#skill-search-input"},{"name":"get_skill_manual","description":"Retrieves complete markdown instructions, guidelines, triggers, and runnable tool schemas for any skill by ID or keyword (e.g. \"skill-css-3d-scene-mesh-synthesizer\", \"3d bee\", \"git\").","inputSchema":{"type":"object","properties":{"skillIdOrName":{"type":"string","description":"The skill ID or name (e.g. \"skill-css-3d-scene-mesh-synthesizer\" or \"3D\")"}},"required":["skillIdOrName"]},"actionType":"api_fetch","targetSelector":"#active-tools-grid"}],"copyPasteSystemPromptForLLMs":"SkillsWebMcp at https://swmcp.vercel.app: Act as a professional — decompose your task into skill domains first (e.g., \"waterfall animation\" -> animation + 3d + canvas + shader). Then POST https://swmcp.vercel.app/api/webmcp/invoke {\"name\":\"search_skills\",\"args\":{\"keyword\":\"<domain>\"}} for 2-3 domains, then {\"name\":\"get_skill_manual\",\"args\":{\"skillIdOrName\":\"<id>\"}} and follow the SKILL.md yourself. GET fallback: https://swmcp.vercel.app/api/skills?search=<domain>"}