[Sprint 02] feat: Implement core HTTP MCP server #14

Closed
opened 2026-02-03 21:01:34 +00:00 by lmiranda · 1 comment
Owner

Summary

Create server_http.py as the main HTTP server that imports tools from marketplace and wraps them with filtering/auth.

Tasks

  • Create src/gitea_mcp_remote/server_http.py
  • Import tools from gitea_mcp_server marketplace package:
    from gitea_mcp_server import get_issue_tools, get_label_tools, get_milestone_tools
    
  • Create MCP server with SSE transport (not stdio)
  • Apply tool_filter.filter_tools() to imported tools
  • Apply AuthMiddleware to HTTP endpoints
  • Implement main() function:
    • Load config
    • Initialize marketplace client with Gitea credentials
    • Get all tools from marketplace
    • Filter tools
    • Start HTTP server on configured HOST:PORT
  • Add graceful shutdown handling
  • Add startup logging (tools exposed, port, auth status)

Acceptance Criteria

  • server_http.py exists with main() entry point
  • Imports tools from marketplace (not local implementation)
  • HTTP server starts successfully
  • SSE transport configured correctly
  • Tool filtering applied
  • Auth middleware active (if configured)
  • Logs indicate server status and configuration
  • Server can be started with python -m gitea_mcp_remote.server_http

Dependencies

Blocked by:

  • #12 (needs tool_filter)
  • #13 (needs auth middleware)

Context

This is the core of the wrapper. It glues together marketplace tools with deployment-specific logic (filtering, auth, HTTP transport).

References:

  • Corrective Rebuild specification
  • Step 7 of 14-step rebuild plan

Size: M (3-4 hours)

## Summary Create `server_http.py` as the main HTTP server that imports tools from marketplace and wraps them with filtering/auth. ## Tasks - [ ] Create `src/gitea_mcp_remote/server_http.py` - [ ] Import tools from `gitea_mcp_server` marketplace package: ```python from gitea_mcp_server import get_issue_tools, get_label_tools, get_milestone_tools ``` - [ ] Create MCP server with SSE transport (not stdio) - [ ] Apply `tool_filter.filter_tools()` to imported tools - [ ] Apply `AuthMiddleware` to HTTP endpoints - [ ] Implement `main()` function: - Load config - Initialize marketplace client with Gitea credentials - Get all tools from marketplace - Filter tools - Start HTTP server on configured HOST:PORT - [ ] Add graceful shutdown handling - [ ] Add startup logging (tools exposed, port, auth status) ## Acceptance Criteria - `server_http.py` exists with `main()` entry point - Imports tools from marketplace (not local implementation) - HTTP server starts successfully - SSE transport configured correctly - Tool filtering applied - Auth middleware active (if configured) - Logs indicate server status and configuration - Server can be started with `python -m gitea_mcp_remote.server_http` ## Dependencies **Blocked by:** - #12 (needs tool_filter) - #13 (needs auth middleware) ## Context This is the core of the wrapper. It glues together marketplace tools with deployment-specific logic (filtering, auth, HTTP transport). **References:** - Corrective Rebuild specification - Step 7 of 14-step rebuild plan **Size:** M (3-4 hours)
lmiranda added this to the Sprint 02: Corrective Rebuild milestone 2026-02-03 21:01:34 +00:00
lmiranda added the Size/MType/FeatureTech/PythonComponent/BackendPriority/High labels 2026-02-03 21:01:34 +00:00
Author
Owner

⚠️ Blocked By: #12, #13

⚠️ **Blocked By:** #12, #13
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: personal-projects/gitea-mcp-remote#14