{"apiVersion":"v1","directorySlug":"gyral-mcp-99a1f65b39","title":"Gyral","description":"Gyral is a small framework for web components: intents in, a pure update, a pure view out. Server rendering, forms, routing and testing built in.","pageUrl":"https://www.mcpbundles.com/skills/gyral-mcp-99a1f65b39","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.gyral.dev/mcp","hostedMcpUrl":null,"toolCount":7,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"dev.gyral/gyral-mcp-99a1f65b39","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"start_here","description":"Call this first, once per task. A short orientation for Gyral 0.3.6: the mental model, the rules agents most often break, the recommended workflow, which tool to use when, and an index from use case (form, fetch, search, routing, SSR, …) to the example and guide to start from. Gyral workflow: start_here once, then start from get_example or scaffold_component (working code); write the module right away; typecheck it in the project (tsc, vite build) and fix what it reports; get_api only for a name","inputSchema":{"type":"object","properties":{}},"title":"Start here: how to build with Gyral","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"start_here","displayName":"Start here: how to build with Gyral"},{"name":"search_docs","description":"Search the Gyral 0.3.6 documentation (guides, API reference, examples) for one concept you need. Returns ranked sections with their URL; pass a URL to get_doc for the full text. Don't read the docs end to end before writing code. Gyral workflow: start_here once, then start from get_example or scaffold_component (working code); write the module right away; typecheck it in the project (tsc, vite build) and fix what it reports; get_api only for a name you already saw in an example or an error.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["query"],"properties":{"limit":{"type":"integer","maximum":20,"minimum":1},"query":{"type":"string","minLength":1}}},"title":"Search the Gyral docs","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"search_docs","displayName":"Search the Gyral docs"},{"name":"get_doc","description":"Returns one docs page as markdown, or one section when the reference has a #anchor (prefer a section: pages are long). Accepts a URL (https://gyral.dev/docs/forms/#the-server-half), a path (/docs/intent/) or a short name (intent, forms#the-server-half, api/core, examples). Gyral workflow: start_here once, then start from get_example or scaffold_component (working code); write the module right away; typecheck it in the project (tsc, vite build) and fix what it reports; get_api only for a name you","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"path":{"type":"string","minLength":1},"path_or_url":{"type":"string","minLength":1}}},"title":"Read a Gyral docs page or section","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_doc","displayName":"Read a Gyral docs page or section"},{"name":"get_api","description":"For one name you already saw in an example, a scaffold or a compile error: its declaration, doc comment and import path, plus a usage module and the next call for a function, or a note for a type (TypeScript infers most Gyral types from define()). Not for learning the API or browsing types: scaffold_component and get_example give working code. A miss suggests the nearest export names. \"*\" lists the functions by task. Gyral workflow: start_here once, then start from get_example or scaffold_compon","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["symbol"],"properties":{"symbol":{"type":"string","minLength":1},"package":{"type":"string"}}},"title":"Look up a Gyral API symbol","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_api","displayName":"Look up a Gyral API symbol"},{"name":"list_examples","description":"Every runnable example in the Gyral repo with what it demonstrates. Read the closest one with get_example and adapt it. Gyral workflow: start_here once, then start from get_example or scaffold_component (working code); write the module right away; typecheck it in the project (tsc, vite build) and fix what it reports; get_api only for a name you already saw in an example or an error.","inputSchema":{"type":"object","properties":{}},"title":"List the Gyral examples","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"list_examples","displayName":"List the Gyral examples"},{"name":"get_example","description":"Workflow step 1: working code to start from. An example's description, link and the full source of its component files (start_here maps use cases to examples). Adapt it into a minimal implementation right away. Gyral workflow: start_here once, then start from get_example or scaffold_component (working code); write the module right away; typecheck it in the project (tsc, vite build) and fix what it reports; get_api only for a name you already saw in an example or an error.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["name"],"properties":{"name":{"type":"string","minLength":1}}},"title":"Read a Gyral example","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"get_example","displayName":"Read a Gyral example"},{"name":"scaffold_component","description":"Workflow step 1: idiomatic starting code that imports only packages the project has installed (pass installed). \"basic\" (state, intents, pure update, view; a model test when @gyral/testing and vitest are installed), \"form\" (with valibot or zod 4 installed: a schema shared with the server; otherwise the dependency-free form), \"form-native\" (no dependencies: novalidate plus the browser's constraint checks, custom messages, focus on the first invalid field), \"ssr-page\" (light-DOM page, client entry","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["tag","kind"],"properties":{"tag":{"type":"string","minLength":1},"kind":{"enum":["basic","form","form-native","ssr-page"],"type":"string"},"installed":{"type":"array","items":{"type":"string"}}}},"title":"Scaffold a Gyral component","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"logicalName":"scaffold_component","displayName":"Scaffold a Gyral component"}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Gyral&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3AuZ3lyYWwuZGV2L21jcCJ9"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Gyral%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.gyral.dev%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Gyral%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.gyral.dev%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Gyral&connectorUrl=https%3A%2F%2Fmcp.gyral.dev%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Gyral\" --url \"https://mcp.gyral.dev/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/gyral-mcp-99a1f65b39","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/gyral-mcp-99a1f65b39/tools/{tool}","mcpServerUrl":"https://mcp.gyral.dev/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/gyral-mcp-99a1f65b39?live=1"}