Architecture: Rails API — MCP-compatible REST surface

arch-rails-api Architecture

architecture active

Rails API: paldocs

Diagram

Components

Component Purpose Notes
Api::NotesController Notes CRUD GET/POST/PUT/DELETE /api/notes
Api::BoardsController Boards and items GET/POST/PUT /api/boards, /api/board_items
Api::ProjectsController Project listing and detail GET /api/projects
Api::SearchController Keyword + semantic search POST /api/search with vector fallback
Api::BlocksController Block CRUD Nested under notes
Api::TagsController Tag listing GET /api/tags

Key Decisions

  • Namespaced under /api/ — keeps MCP-facing endpoints separate from HTML views
  • Endpoint parity with pal-e-docs FastAPI — MCP server requires no changes during migration
  • JSON-only responses on /api/ — no HTML rendering in API controllers
  • Semantic search endpoint combines keyword and vector search in a single call
  • project-paldocs — parent project page
  • arch-rails-db — schema this API queries
  • arch-rails-views — HTML views that share models with the API
  • story-paldocs-consolidation — driving user story