{"apiVersion":"v1","directorySlug":"jsandy-mcp-107276f737","title":"JSandy - RPC Service Framework","description":"A cutting-edge RPC service framework built on top of Hono with WebSocket support","pageUrl":"https://www.mcpbundles.com/skills/jsandy-mcp-107276f737","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://mcp.jsandy.com/mcp","hostedMcpUrl":null,"toolCount":20,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"com.jsandy/jsandy-mcp-107276f737","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"analyze_code","description":"Analyze a code snippet for @jsandy/rpc best practices. Runs all validation checks and provides recommendations based on the knowledge base.","inputSchema":{"type":"object","required":["code"],"properties":{"code":{"type":"string"},"context":{"type":"string"}}},"logicalName":"analyze_code","displayName":"analyze_code","title":"analyze_code","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"analyze_project_structure","description":"Analyze a project structure for @jsandy/rpc integration. Identifies framework type, suggests file locations for route handlers, detects missing dependencies, and recommends project organization.","inputSchema":{"type":"object","required":["structure"],"properties":{"framework":{"enum":["nextjs-app","nextjs-pages","standalone"],"type":"string"},"structure":{"type":"string"}}},"logicalName":"analyze_project_structure","displayName":"analyze_project_structure","title":"analyze_project_structure","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"check_zod_v4_compliance","description":"Flag any Zod v3 syntax in code. @jsandy/rpc requires Zod v4. Detects deprecated methods like .nativeEnum(), .strict(), .passthrough(), .strip(), .deepPartial(), .merge(), z.promise(), .create(), z.ostring(), etc.","inputSchema":{"type":"object","required":["code"],"properties":{"code":{"type":"string"}}},"logicalName":"check_zod_v4_compliance","displayName":"check_zod_v4_compliance","title":"check_zod_v4_compliance","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"create_client","description":"Generate a typed @jsandy/rpc client setup using createClient. Produces TypeScript code that imports from @jsandy/rpc/client with full type inference.","inputSchema":{"type":"object","required":["routerType","routerImportPath","baseUrl"],"properties":{"baseUrl":{"type":"string"},"routerType":{"type":"string"},"routerImportPath":{"type":"string"}}},"logicalName":"create_client","displayName":"create_client","title":"create_client","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"create_middleware","description":"Generate typed @jsandy/rpc middleware with context accumulation. Produces TypeScript code that follows the middleware pattern with next() and context fields.","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"contextFields":{"type":"string"}}},"logicalName":"create_middleware","displayName":"create_middleware","title":"create_middleware","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"create_procedure","description":"Generate a typed @jsandy/rpc procedure definition (query or mutation). Produces ready-to-use TypeScript code with Zod v4 schemas.","inputSchema":{"type":"object","required":["name","type"],"properties":{"name":{"type":"string"},"type":{"enum":["query","mutation"],"type":"string"},"middleware":{"type":"string"},"inputSchema":{"type":"string"},"outputSchema":{"type":"string"}}},"logicalName":"create_procedure","displayName":"create_procedure","title":"create_procedure","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"create_pubsub_adapter","description":"Generate a PubSubAdapter implementation for @jsandy/rpc WebSocket scaling. Supports built-in adapters (Upstash Redis, Cloudflare Queue) or custom implementations.","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"platform":{"enum":["upstash","cloudflare-queue","custom"],"type":"string"}}},"logicalName":"create_pubsub_adapter","displayName":"create_pubsub_adapter","title":"create_pubsub_adapter","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"create_router","description":"Generate a @jsandy/rpc router definition that groups procedures together. Produces TypeScript code with correct router() call and type export.","inputSchema":{"type":"object","required":["name","procedures"],"properties":{"name":{"type":"string"},"procedures":{"type":"string"}}},"logicalName":"create_router","displayName":"create_router","title":"create_router","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"create_ws_procedure","description":"Generate a typed @jsandy/rpc WebSocket procedure with incoming/outgoing event schemas. Produces ready-to-use TypeScript code with Zod v4 schemas for real-time features.","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string"},"middleware":{"type":"string"},"incomingSchema":{"type":"string"},"outgoingSchema":{"type":"string"}}},"logicalName":"create_ws_procedure","displayName":"create_ws_procedure","title":"create_ws_procedure","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"get_examples","description":"Get usage examples for a specific @jsandy/rpc pattern. Returns code examples from the patterns library (auth, CRUD, file upload, pagination, etc.).","inputSchema":{"type":"object","required":["pattern"],"properties":{"pattern":{"type":"string"}}},"logicalName":"get_examples","displayName":"get_examples","title":"get_examples","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"hello","description":"Says hello. Use this to verify the MCP server is working.","inputSchema":{"type":"object","properties":{"name":{"type":"string"}}},"logicalName":"hello","displayName":"hello","title":"hello","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"list_exports","description":"List all exports from a specific @jsandy/rpc entry point. Shows every exported function, type, and constant.","inputSchema":{"type":"object","required":["entryPoint"],"properties":{"entryPoint":{"enum":["main","client","adapters"],"type":"string"}}},"logicalName":"list_exports","displayName":"list_exports","title":"list_exports","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"lookup_api","description":"Look up a specific @jsandy/rpc API by name. Returns the full documentation including type signature, parameters, and usage examples. If not found, suggests similar entries.","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}},"logicalName":"lookup_api","displayName":"lookup_api","title":"lookup_api","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"merge_routers","description":"Generate a mergeRouters configuration that combines multiple sub-routers into a single Hono app. Produces TypeScript code with Hono setup, CORS, error handling, and router mounting.","inputSchema":{"type":"object","required":["name","routers"],"properties":{"name":{"type":"string"},"routers":{"type":"string"},"useDynamic":{"type":"boolean"}}},"logicalName":"merge_routers","displayName":"merge_routers","title":"merge_routers","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"search_docs","description":"Search @jsandy/rpc documentation by topic or keyword. Returns ranked results from API reference, guides, patterns, and export listings.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string"}}},"logicalName":"search_docs","displayName":"search_docs","title":"search_docs","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"suggest_improvements","description":"Given existing @jsandy/rpc code, suggest improvements for correctness, performance, and best practices. Combines validation checks with goal-oriented recommendations.","inputSchema":{"type":"object","required":["code"],"properties":{"code":{"type":"string"},"goal":{"type":"string"}}},"logicalName":"suggest_improvements","displayName":"suggest_improvements","title":"suggest_improvements","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"validate_middleware","description":"Check @jsandy/rpc middleware for correct patterns. Detects missing next() calls, unreturned next() results, Zod v3 usage, and import issues.","inputSchema":{"type":"object","required":["code"],"properties":{"code":{"type":"string"}}},"logicalName":"validate_middleware","displayName":"validate_middleware","title":"validate_middleware","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"validate_nextjs_integration","description":"Check a Next.js route handler for correct @jsandy/rpc integration. Detects missing GET/POST exports, incorrect app.fetch usage, Zod v3 patterns, and import issues.","inputSchema":{"type":"object","required":["code"],"properties":{"code":{"type":"string"}}},"logicalName":"validate_nextjs_integration","displayName":"validate_nextjs_integration","title":"validate_nextjs_integration","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"validate_procedure","description":"Check a @jsandy/rpc procedure definition for correctness. Detects Zod v3 anti-patterns, incorrect builder chain order, bad import paths, and missing patterns.","inputSchema":{"type":"object","required":["code"],"properties":{"code":{"type":"string"}}},"logicalName":"validate_procedure","displayName":"validate_procedure","title":"validate_procedure","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"validate_router","description":"Check a @jsandy/rpc router definition for structural issues. Detects empty routers, procedures without router wrappers, Zod v3 usage, and import path issues.","inputSchema":{"type":"object","required":["code"],"properties":{"code":{"type":"string"}}},"logicalName":"validate_router","displayName":"validate_router","title":"validate_router","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=JSandy---RPC-Service-Framework&config=eyJ1cmwiOiAiaHR0cHM6Ly9tY3AuanNhbmR5LmNvbS9tY3AifQ%3D%3D"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22JSandy---RPC-Service-Framework%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.jsandy.com%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22JSandy---RPC-Service-Framework%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fmcp.jsandy.com%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=JSandy+-+RPC+Service+Framework&connectorUrl=https%3A%2F%2Fmcp.jsandy.com%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"JSandy---RPC-Service-Framework\" --url \"https://mcp.jsandy.com/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/jsandy-mcp-107276f737","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/jsandy-mcp-107276f737/tools/{tool}","mcpServerUrl":"https://mcp.jsandy.com/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/jsandy-mcp-107276f737?live=1"}