Skip to content

Add HTTP transport for cia hosting - #21

Merged
simonives merged 2 commits into
mainfrom
feat/http-transport-cia
Sep 24, 2026
Merged

simonives merged 2 commits into
mainfrom
feat/http-transport-cia

Conversation

@simonives

Copy link
Copy Markdown
Owner

Summary

  • Adds http_server.py alongside the existing stdio server.py: wraps FastMCP's http_app() with the same pure-ASGI X-API-Key middleware pattern reed already uses, so this server can run as an HTTP MCP service over Tailscale instead of a local stdio process.
  • Adds a Dockerfile so it can be built and run as a Podman Quadlet unit on cia, mirroring the reed and redwrench hosting pattern.
  • Adds uvicorn as an explicit dependency and a *-http console-script entry point.

Part of the decision (23 Sep 2026) to port rainkeeper, google-tasks-mcp, and bos-mcp off the local Mac onto cia (always-on home server), so MCP hosting no longer depends on which Mac happens to be current.

Test plan

  • Local import check: http_server.app builds cleanly under the repo's own venv.
  • Container builds and runs on cia, verified reachable via X-API-Key over Tailscale.
  • Re-registered as an HTTP MCP server in Claude Code, agy, and Claude Desktop, confirmed Connected.

🤖 Generated with Claude Code

Adds http_server.py alongside the existing stdio server.py, wrapping
FastMCP's http_app() with the same pure-ASGI X-API-Key middleware
pattern reed already uses (src/reed/mcp_server.py in the reed repo),
plus a Containerfile so the server can run as a Podman Quadlet unit
on cia rather than a local stdio process tied to whichever Mac
happens to be current. Mirrors the migration already done for reed
and redwrench.
@simonives
simonives merged commit b5817a2 into main Sep 24, 2026
1 of 2 checks passed
@simonives
simonives deleted the feat/http-transport-cia branch September 24, 2026 09:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant