MCP authentication #1
Labels
No labels
Doing
P1: critical
P2: important
P3: useful
P4: nice to have
P5: reminder
To Do
bug
invalid
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
peacelink/mcp-peacedata#1
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
When exposing this server to the internet, implement FastMCP native OAuth2 Bearer token auth
so the server is MCP-spec compliant and supports per-client token revocation.
Approach:
BearerAuthProvideron each FastMCP sub-app (sipri_app,navco_app,nuclear_app) inserver.py.Token storage (HMAC/HS256 — simplest option):
Secretwith the signing key (MCP_PEACEDATA_SIGNING_KEY), generated viaopenssl rand -base64 32.Secret(
MCP_PEACEDATA_TOKEN):exp+ jti blocklist for tighter control).Internal callers (webapp) are unaffected: auth is enforced at the ingress on the public
hostname only. The webapp calls the server via cluster-internal DNS and bypasses the ingress
entirely — no token needed, no code changes required.
Not needed while the server stays internal (cluster-only, no ingress).
changed the description
assigned to @iannuzzelli
see
gitlab.com/peacelink/ai/mcp-peacedata/-@019b23dc1f