terraphim / terraphim/terraphim-ai

Phase 2: Implement Endpoint Management

Open
#279 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
62
Forks
5
Avg merge
2h 27m
Merged PRs (30d)
1

Description

Goal

Expose Terraphim as MCP server to external clients

Tasks

  • Add /metamcp/{endpoint_name}/sse for SSE transport
  • Add /metamcp/{endpoint_name}/mcp for HTTP transport
  • Implement streaming response handlers
  • Add CORS support for web clients
  • API key generation and storage
  • Bearer token middleware
  • Rate limiting per API key
  • Add authentication to config schema
  • Create database tables: mcp_namespaces, namespace_servers, mcp_endpoints, api_keys
  • Add persistence layer for MCP configuration
  • Implement configuration hot-reload

Success Criteria

  • External MCP clients can connect to Terraphim endpoints
  • API key authentication works
  • Multiple transports supported (SSE, HTTP)
  • Configuration persists across restarts

Timeline

Week 3-4

Depends on: Phase 1

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or implementation entry points are named. Start by reviewing the Phase 1 dependency and the listed endpoint paths, transports, authentication, schema tables, and persistence requirements. Done means external MCP clients connect over SSE and HTTP, API-key authentication works, and configuration persists across restarts.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
api, authentication, backend, database
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.