{"_id":"@anjolovic/inertia-rails-mcp","name":"@anjolovic/inertia-rails-mcp","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@anjolovic/inertia-rails-mcp","version":"1.0.0","description":"MCP server for inertia-rails providing documentation and code assistance","bin":{"inertia-rails-mcp":"bin/inertia-rails-mcp"},"keywords":["mcp","inertia","rails","claude","inertia-rails","model-context-protocol"],"author":{"name":"A. Jolovic"},"license":"MIT","engines":{"node":">=14.0.0"},"repository":{"type":"git","url":"git+https://github.com/inertiajs/inertia-rails.git"},"bugs":{"url":"https://github.com/inertiajs/inertia-rails/issues"},"homepage":"https://github.com/inertiajs/inertia-rails/tree/master/mcp","_id":"@anjolovic/inertia-rails-mcp@1.0.0","gitHead":"74f1c4bd887037799a45c22f02dfb7d3dddbb761","_nodeVersion":"20.10.0","_npmVersion":"10.2.3","dist":{"integrity":"sha512-muVPhi6gbilb2pombIK+RvkEa8l/F12QZMHlZ0E1mfPeIJOlClsfeWmJbLFritq+m1WE6Uny8Ev8ayPEMrKRDA==","shasum":"a6bf1718ec77f59fd1ebb14010b2bd9ce668334d","tarball":"https://registry.npmjs.org/@anjolovic/inertia-rails-mcp/-/inertia-rails-mcp-1.0.0.tgz","fileCount":11,"unpackedSize":57026,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCICqRV6E0mXYD07qt9mvYq0jOInn3+T2XI+t86BYimV6mAiAK5GpuXm4OZuTv6NyFHsGu3Tty3v6UuN70TLXZeWqGHg=="}]},"_npmUser":{"name":"anjolovic","email":"ajolovic@dovecore.com","actor":{"name":"anjolovic","email":"ajolovic@dovecore.com","type":"user"}},"directories":{},"maintainers":[{"name":"anjolovic","email":"ajolovic@dovecore.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/inertia-rails-mcp_1.0.0_1751495777568_0.5103877270814172"},"_hasShrinkwrap":false}},"time":{"created":"2025-07-02T22:36:17.436Z","1.0.0":"2025-07-02T22:36:17.747Z","modified":"2025-07-02T22:36:18.105Z"},"maintainers":[{"name":"anjolovic","email":"ajolovic@dovecore.com"}],"description":"MCP server for inertia-rails providing documentation and code assistance","homepage":"https://github.com/inertiajs/inertia-rails/tree/master/mcp","keywords":["mcp","inertia","rails","claude","inertia-rails","model-context-protocol"],"repository":{"type":"git","url":"git+https://github.com/inertiajs/inertia-rails.git"},"author":{"name":"A. Jolovic"},"bugs":{"url":"https://github.com/inertiajs/inertia-rails/issues"},"license":"MIT","readme":"# Inertia Rails MCP Server\n\nThis MCP (Model Context Protocol) server provides AI assistants like Claude with comprehensive access to Inertia-rails documentation, methods, and examples.\n\n## Features\n\nThe Inertia Rails MCP server exposes the following tools:\n\n- **documentation**: Search and retrieve Inertia-rails documentation\n- **method_lookup**: Look up method signatures and usage examples\n- **changelog**: Search version history and changes\n- **example**: Get code examples for common use cases\n\nAnd these resources:\n\n- **api_reference**: Complete API reference\n- **configuration**: Configuration guide\n\n## Installation\n\n### 1. Using npm (Recommended for Claude Code)\n\nInstall the published npm package:\n\n```bash\n# Install globally\nnpm install -g @anjolovic/inertia-rails-mcp\n\n# Or use directly with npx\nnpx @anjolovic/inertia-rails-mcp\n```\n\nThen add to your Claude Code configuration (`~/Library/Application Support/Code/User/claude.json` on macOS):\n\n```json\n{\n  \"mcpServers\": {\n    \"inertia-rails\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@anjolovic/inertia-rails-mcp@latest\"]\n    }\n  }\n}\n```\n\n### 2. Using Claude Desktop\n\nFor Claude Desktop, you can either use the npm package:\n\n```json\n{\n  \"mcpServers\": {\n    \"inertia-rails\": {\n      \"command\": \"npx\",\n      \"args\": [\"@anjolovic/inertia-rails-mcp\"]\n    }\n  }\n}\n```\n\nOr run directly from source:\n\n```json\n{\n  \"mcpServers\": {\n    \"inertia-rails\": {\n      \"command\": \"ruby\",\n      \"args\": [\"/path/to/inertia-rails/mcp/server.rb\"],\n      \"env\": {\n        \"INERTIA_RAILS_PATH\": \"/path/to/inertia-rails\"\n      }\n    }\n  }\n}\n```\n\n### 3. Using Claude CLI\n\nThe `.mcp.json` file in the project root is already configured. Just run Claude from the inertia-rails directory:\n\n```bash\ncd /path/to/inertia-rails\nclaude --mcp-config .mcp.json\n```\n\n**Note:** The npm package requires Ruby to be installed on your system.\n\n## Usage Examples\n\nOnce connected, Claude can help with Inertia-rails development:\n\n### Search Documentation\n```\n@inertia-rails Can you show me documentation about lazy loading?\n```\n\n### Look Up Methods\n```\n@inertia-rails What's the signature for the inertia_share method?\n```\n\n### Get Examples\n```\n@inertia-rails Show me an example of pagination with Inertia\n```\n\n### Check Changelog\n```\n@inertia-rails What's new in version 3.0?\n```\n\n## Available Tools\n\n### inertia_rails_documentation\nSearch through Inertia-rails documentation.\n\n**Parameters:**\n- `query` (required): Search term\n- `category` (optional): \"guide\", \"cookbook\", \"api\", or \"all\"\n\n### inertia_rails_method_lookup\nGet detailed information about Inertia-rails methods.\n\n**Parameters:**\n- `method_name` (required): Name of the method\n- `include_source` (optional): Include source location\n\n### inertia_rails_changelog\nSearch version history and changes.\n\n**Parameters:**\n- `version` (optional): Specific version or \"latest\"\n- `search` (optional): Search term\n\n### inertia_rails_example\nGet code examples for common patterns.\n\n**Parameters:**\n- `topic` (required): One of:\n  - basic_setup\n  - shared_data\n  - authentication\n  - file_upload\n  - pagination\n  - validation\n  - ssr\n  - lazy_loading\n  - typescript\n  - testing\n\n## Development\n\nTo modify or extend the MCP server:\n\n1. Edit tool implementations in `mcp/tools/`\n2. Add new resources in `mcp/resources/`\n3. Update the server configuration in `mcp/server.rb`\n\n### Adding a New Tool\n\nCreate a new file in `mcp/tools/`:\n\n```ruby\nmodule InertiaRailsMCP\n  module Tools\n    class MyNewTool\n      def description\n        'Description of what this tool does'\n      end\n\n      def input_schema\n        {\n          type: 'object',\n          properties: {\n            param1: { type: 'string', description: 'Parameter description' }\n          },\n          required: ['param1']\n        }\n      end\n\n      def call(arguments)\n        # Tool implementation\n        \"Result of tool execution\"\n      end\n    end\n  end\nend\n```\n\nThen register it in `server.rb`:\n\n```ruby\n@tools = {\n  'my_new_tool' => Tools::MyNewTool.new,\n  # ... other tools\n}\n```\n\n## Testing\n\nTo test the MCP server manually:\n\n```bash\n# Run the server directly\nruby mcp/server.rb\n\n# Send a test request (in another terminal)\necho '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\"}' | ruby mcp/server.rb\n```\n\n## Troubleshooting\n\n### Server Not Responding\n- Check Ruby is in PATH\n- Verify file permissions\n- Check for syntax errors: `ruby -c mcp/server.rb`\n\n### Documentation Not Found\n- Ensure the `docs/` directory exists\n- Check file paths are correct\n- Verify working directory\n\n### Method Lookup Fails\n- The gem must be installed or in the load path\n- Check for require errors in the server log","readmeFilename":"README.md","_rev":"1-e71103183821c38c754fcb8c1cfa9888"}