{"_id":"@binsarjr/trpc-sveltekit-mcp","name":"@binsarjr/trpc-sveltekit-mcp","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@binsarjr/trpc-sveltekit-mcp","version":"1.0.0","description":"MCP server for tRPC SvelteKit development with curated knowledge and examples","type":"module","main":"dist/index.js","bin":{"trpc-sveltekit-mcp":"dist/index.js"},"scripts":{"dev":"bun --watch src/index.ts","build":"tsc && cp -r src/data dist/ && chmod +x dist/index.js","start":"bun src/index.ts","prepublishOnly":"npm run build","inspect":"bunx @modelcontextprotocol/inspector bun src/index.ts"},"keywords":["mcp","trpc","sveltekit","typescript","api","type-safe","development","assistant"],"author":"","license":"MIT","dependencies":{"@modelcontextprotocol/sdk":"^1.18.0","zod":"^3.25.76"},"devDependencies":{"@types/bun":"^1.2.22","typescript":"^5.9.2"},"engines":{"bun":">=1.0.0"},"_id":"@binsarjr/trpc-sveltekit-mcp@1.0.0","gitHead":"6b2fbf71852a3adf1dea85a109ec7a2a61f54f20","types":"./dist/index.d.ts","_nodeVersion":"24.2.0","_npmVersion":"11.3.0","dist":{"integrity":"sha512-/QJ4Cp8LTEkPggjZPq5MQTFNWZsJf7ColReTBuk3k0CQe9PzVKe0hNEty1Uo66r0HC67VOXoC+ILxK+u5+9xMw==","shasum":"c62783e83469cbb35a5398cf319220cdd3da522f","tarball":"https://registry.npmjs.org/@binsarjr/trpc-sveltekit-mcp/-/trpc-sveltekit-mcp-1.0.0.tgz","fileCount":65,"unpackedSize":1330829,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIFK+SvNjJlePeoGM3EdOGPnEaH3qqM5KVB0qWGo9FozzAiEA71cFgPrU3j5bmFFDBv+EMRClGdCz4cVEBnH3ehcBEhU="}]},"_npmUser":{"name":"binsarjr","email":"binsarjr121@gmail.com"},"directories":{},"maintainers":[{"name":"binsarjr","email":"binsarjr121@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/trpc-sveltekit-mcp_1.0.0_1758112912392_0.3971360336701035"},"_hasShrinkwrap":false}},"time":{"created":"2025-09-17T12:41:52.318Z","1.0.0":"2025-09-17T12:41:52.609Z","modified":"2025-09-17T12:41:52.929Z"},"maintainers":[{"name":"binsarjr","email":"binsarjr121@gmail.com"}],"description":"MCP server for tRPC SvelteKit development with curated knowledge and examples","keywords":["mcp","trpc","sveltekit","typescript","api","type-safe","development","assistant"],"license":"MIT","readme":"# tRPC SvelteKit MCP Server\n\nA specialized Model Context Protocol (MCP) server for tRPC SvelteKit development, providing curated knowledge, code examples, and intelligent assistance for building type-safe APIs with end-to-end type safety in SvelteKit applications.\n\n## Features\n\n### 🔍 **Searchable Resources**\n- **Knowledge Base**: Curated Q&A covering tRPC SvelteKit concepts, patterns, and best practices\n- **Code Examples**: Searchable collection of tRPC SvelteKit implementation patterns\n\n### 🛠️ **Intelligent Tools**\n- `search_knowledge` - Find explanations and concepts\n- `search_examples` - Discover code patterns and implementations\n- `generate_with_context` - Create routers and procedures using curated patterns\n- `audit_with_rules` - Review code against tRPC SvelteKit best practices\n- `explain_concept` - Get detailed explanations with examples\n\n### 📝 **Smart Prompts**\n- `generate-router` - Generate modern tRPC SvelteKit routers\n- `audit-trpc-code` - Audit code for optimization opportunities\n- `explain-concept` - Detailed concept explanations\n- `search-patterns` - Find specific implementation patterns\n\n## Installation\n\n### Option 1: Direct usage with bunx (Recommended)\n\nSimply add to your Claude Desktop configuration - no installation required:\n\n```json\n{\n  \"mcpServers\": {\n    \"trpc-sveltekit\": {\n      \"command\": \"bunx\",\n      \"args\": [\"@binsarjr/trpc-sveltekit-mcp\"],\n      \"env\": {}\n    }\n  }\n}\n```\n\n### Option 2: Manual installation\n\n```bash\n# Clone and setup\ngit clone https://github.com/binsarjr/trpc-sveltekit-mcp\ncd trpc-sveltekit-mcp\n\n# Install dependencies with Bun\nbun install\n\n# Start the server\nbun start\n```\n\n## Project Structure\n\n```\ntrpc-sveltekit-mcp/\n├── src/\n│   ├── index.ts                    # Main MCP server implementation\n│   ├── TRPCSvelteKitSearchDB.ts   # SQLite database with FTS5 search\n│   └── data/\n│       ├── knowledge/             # Curated Q&A knowledge base (JSONL)\n│       └── patterns/              # Code examples and patterns (JSONL)\n├── package.json\n├── bun.lockb                      # Bun lock file\n├── tsconfig.json\n└── README.md\n```\n\n## Usage with Claude Desktop\n\n### Recommended: Using bunx (no installation required)\n\n```json\n{\n  \"mcpServers\": {\n    \"trpc-sveltekit\": {\n      \"command\": \"bunx\",\n      \"args\": [\"@binsarjr/trpc-sveltekit-mcp\"],\n      \"env\": {}\n    }\n  }\n}\n```\n\n### Alternative: Local installation\n\n```json\n{\n  \"mcpServers\": {\n    \"trpc-sveltekit\": {\n      \"command\": \"bun\",\n      \"args\": [\"/path/to/trpc-sveltekit-mcp/src/index.ts\"],\n      \"env\": {}\n    }\n  }\n}\n```\n\n## Usage Examples\n\n### 🔍 Search Knowledge\n```\nTool: search_knowledge\nQuery: \"authentication middleware\"\n```\n\nReturns detailed explanations about implementing authentication in tRPC SvelteKit.\n\n### 📚 Find Code Examples\n```\nTool: search_examples\nQuery: \"router setup context\"\n```\n\nReturns working tRPC SvelteKit router implementations with context setup.\n\n### 🏗️ Generate Routers\n```\nTool: generate_with_context\nDescription: \"User management API with CRUD operations\"\nProcedures: [\"list\", \"create\", \"update\", \"delete\"]\n```\n\nGenerates a complete tRPC router using modern patterns with relevant examples from the knowledge base.\n\n### 🔍 Audit Code\n```\nTool: audit_with_rules\nCode: \"const router = t.router({ hello: t.procedure.query(() => 'world') });\"\nFocus: \"best-practices\"\n```\n\nAnalyzes code and suggests tRPC SvelteKit improvements like input validation and error handling.\n\n## Key tRPC SvelteKit Concepts Covered\n\n### 🎯 **Core tRPC Features**\n- **Routers** - API organization and structure\n- **Procedures** - Query, mutation, and subscription endpoints\n- **Context** - Request-level data and services\n- **Middleware** - Reusable logic for authentication, logging, etc.\n- **Type Safety** - End-to-end TypeScript integration\n\n### 🧩 **SvelteKit Integration**\n- **Load Functions** - Server-side data fetching with tRPC\n- **Client Usage** - Calling tRPC procedures from Svelte components\n- **Error Handling** - TRPCError and client-side error management\n- **Hooks Integration** - Setting up tRPC in SvelteKit hooks\n- **Real-time Features** - WebSocket subscriptions\n\n### 📈 **Advanced Patterns**\n- **Authentication & Authorization** - JWT, sessions, and role-based access\n- **Input Validation** - Zod schemas and type-safe inputs\n- **File Uploads** - Handling files with SvelteKit and tRPC\n- **Caching** - Request caching and optimization strategies\n- **Testing** - Unit and integration testing patterns\n\n## Data Format\n\n### Knowledge Base (JSONL files in `data/knowledge/`)\n```json\n{\n  \"question\": \"How do you create a tRPC router in SvelteKit?\",\n  \"answer\": \"Create a tRPC router using t.router() and define procedures with t.procedure.query() for read operations...\"\n}\n```\n\n### Examples (JSONL files in `data/patterns/`)\n```json\n{\n  \"instruction\": \"Create a basic tRPC router with TypeScript\",\n  \"input\": \"Set up a basic tRPC router with a simple greeting query\",\n  \"output\": \"// lib/trpc/router.ts\\nimport { initTRPC } from '@trpc/server';\\n...\"\n}\n```\n\n## Configuration\n\n### Database Location\n\nThe server stores its SQLite database following the XDG Base Directory specification:\n\n- **All platforms**: `~/.config/binsarjr/trpc-sveltekit-mcp/database.db`\n\nThis provides a consistent, organized location across all operating systems.\n\n### Environment Variables\n\nYou can customize the database location using environment variables:\n\n```json\n{\n  \"mcpServers\": {\n    \"trpc-sveltekit\": {\n      \"command\": \"bunx\",\n      \"args\": [\"@binsarjr/trpc-sveltekit-mcp\"],\n      \"env\": {\n        \"TRPC_SVELTEKIT_MCP_CONFIG_DIR\": \"/custom/config/path\",\n        \"TRPC_SVELTEKIT_MCP_DB_PATH\": \"/custom/database.db\"\n      }\n    }\n  }\n}\n```\n\n### Search Features\n\nThe server uses SQLite with FTS5 for advanced search capabilities:\n\n- **Full-Text Search**: Utilizes SQLite's FTS5 extension for powerful and efficient searching across the knowledge base and code examples.\n- **Tokenization**: Employs the `unicode61` tokenizer with a comprehensive set of separators for robust indexing of terms.\n- **Synonym Expansion**: Enhances search recall by automatically expanding query terms with predefined tRPC SvelteKit-specific synonyms (e.g., 'router' also matches 'api router').\n- **Result Highlighting**: Search results include highlighted matches within relevant fields using FTS5's `highlight()` function.\n- **Relevance Ranking**: Results are ordered by relevance based on FTS5's internal ranking algorithm.\n- **Advanced Boosting**: Offers capabilities for custom scoring and boosting to fine-tune search results.\n\n## Development\n\n### Testing\nThe server provides comprehensive logging and error handling:\n\n```bash\n# Test the server\necho '{\"jsonrpc\": \"2.0\", \"id\": 1, \"method\": \"tools/list\"}' | bun start\n```\n\n## Contributing\n\n### Adding Knowledge\n1. Add entries to JSONL files in `src/data/knowledge/`\n2. Format: `{\"question\": \"...\", \"answer\": \"...\"}`\n3. Focus on tRPC SvelteKit specific features and best practices\n\n### Adding Examples\n1. Add entries to JSONL files in `src/data/patterns/`\n2. Format: `{\"instruction\": \"...\", \"input\": \"...\", \"output\": \"...\"}`\n3. Include complete, working tRPC SvelteKit code examples\n\n### Search Optimization\n- Use descriptive, searchable keywords in questions and instructions\n- Include alternative phrasings for common concepts\n- Tag examples with relevant feature names (`router`, `procedures`, `context`, etc.)\n\n## Advanced Usage\n\n### Custom Search Queries\nThe search tools support sophisticated queries:\n\n```typescript\n// Search for authentication patterns\nsearch_examples(\"authentication middleware jwt\")\n\n// Find type safety guidance\nsearch_knowledge(\"typescript type inference zod\")\n\n// Discover integration patterns\nsearch_examples(\"sveltekit load function trpc\")\n```\n\n### Prompt Chaining\nUse prompts in sequence for complex workflows:\n\n1. `search-patterns` - Find relevant patterns\n2. `generate-router` - Create based on patterns\n3. `audit-trpc-code` - Review and optimize\n\n### Integration Tips\n- **Claude Desktop**: Best for interactive development\n- **API Integration**: Use programmatically for code generation\n- **CI/CD**: Audit code in automated workflows\n- **Documentation**: Generate examples for API documentation\n\n## Troubleshooting\n\n### Common Issues\n\n**\"No results found\"**\n- Check search terms are relevant to tRPC SvelteKit\n- Try broader queries first, then narrow down\n- Ensure data files are properly formatted JSONL\n\n**\"Tool not found\"**\n- Check MCP client configuration\n- Review server logs for startup errors\n\n**\"Invalid data format\"**\n- Validate JSONL files (one JSON object per line)\n- Check for syntax errors in JSON objects\n\n**Database/Config Issues**\n- Check if config directory is writable\n- Verify database permissions in the config folder\n- Use `TRPC_SVELTEKIT_MCP_DB_PATH` environment variable for custom locations\n- Check logs for database initialization messages\n\n### Debugging\n```bash\n# Enable debug logging\nDEBUG=* bun start\n\n# Test database location\nbunx @binsarjr/trpc-sveltekit-mcp  # Watch for config path logs\n\n# Check config directory (all platforms)\nls -la ~/.config/binsarjr/trpc-sveltekit-mcp/\n```\n\n## License\n\nMIT License - see LICENSE file for details.\n\n## Acknowledgments\n\n- Built with [MCP TypeScript SDK](https://github.com/modelcontextprotocol/typescript-sdk)\n- Validation with [Zod](https://zod.dev/)\n- Curated tRPC SvelteKit knowledge from official documentation and community best practices\n- Powered by [tRPC](https://trpc.io/) and [SvelteKit](https://kit.svelte.dev/)","readmeFilename":"README.MD","_rev":"1-51649b7332372efb340ef98d0a9ae427"}