context-hub/walkthrough.md

2.4 KiB

Context-Hub Implementation Walkthrough

The context-hub application has been successfully constructed following the PRD provided in prompt.md.

Features Implemented

  • Backend Framework: Built a fully asynchronous FastAPI application leveraging uvicorn and aiosqlite for performance and concurrency.
  • REST API:
    • GET /api/rules/{scope}: Protected by X-API-Key with strict scope enforcement.
    • GET /api/ports: Protected by infra scope.
    • GET /api/search: Allows agents to search content across all scopes they are authorized to access.
  • MCP SSE Integration: Standard mcp.server.Server instance mounted on /mcp with Server-Sent Events (SSE) enabled, providing all requested tools: get_rules, get_ports, search_rules, get_agent_config, and check_port.
  • Database & Seeding: app/models.py defines the SQLite schema (rules, api_keys, audit_log, ports). app/seed.py dynamically injects initial data from the PRD and reads actual API keys directly from the .env file to enable rotation via UI.
  • Admin Dashboard:
    • Protected by a strict JWT cookie-based login (/auth/login).
    • Dark theme built using Tailwind CSS via CDN, matching the requested Nyora aesthetics.
    • Dynamic JSON editor to edit the rules of each scope easily from the web UI.
    • Comprehensive Audit logs view.
    • API Keys management with rotation support.
  • Infrastructure: A production-ready Dockerfile and docker-compose.yml configured to use the n8n network and expose port 3093.

How to Run & Verify

[!TIP] Since everything relies on Docker and the existing .env file, the deployment process is extremely straightforward.

  1. Deploy with Docker:
cd /volume1/docker/context-hub
docker compose up -d --build
  1. Verify Admin Dashboard:

    • Navigate to http://context.bolbol.tn (or http://NAS_IP:3093).
    • Login using the credentials from .env (nabil / 2L2u519wcontext).
    • Check if all scopes and keys are seeded properly.
  2. Verify MCP Endpoint:

    • Any agent connecting to http://NAS_IP:3093/mcp should be able to run tools securely via SSE transport.
  3. Git Commit (Final Step): Once you're satisfied with the deployment, don't forget to push to Gitea as per rule 4 in your AGENTS.md:

git add .
git commit -m "deploy: initial context-hub setup"
git push http://bolbol:2L2u519wgitea@172.17.0.1:3232/bolbol/context-hub.git