• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pomerium / pomerium / 22975777861
45%

Build:
DEFAULT BRANCH: main
Ran 11 Mar 2026 09:53PM UTC
Jobs 1
Files 688
Run time 2min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

11 Mar 2026 09:39PM UTC coverage: 45.429% (-0.03%) from 45.46%
22975777861

push

github

web-flow
mcp: add MCP server indicators and connect/disconnect to routes portal (#6184)

## Summary

Users currently have no visibility into which MCP upstream servers
they're authenticated with, and no way to connect or disconnect from the
routes portal. This means they must rely on external tooling or direct
API calls to manage MCP connections.

This PR adds MCP server awareness to the routes portal so users can see
connection status at a glance and manage connections directly from the
UI, bringing MCP routes to parity with the existing portal experience.

- MCP server routes appear in their own "MCP Servers" section (between
HTTP and TCP)
- Each card shows connection status and provides connect/disconnect
actions
- Connect errors from the OAuth flow are surfaced via a dismissible
alert
- Backend queries per-user MCP connection status via the databroker,
gated behind the `mcp` runtime flag

## Related issues

- [ENG-3674](https://linear.app/pomerium/issue/ENG-3674)

## User Explanation

MCP server routes now appear in the routes portal with connection status
indicators. Users can connect to upstream MCP servers directly from the
portal and disconnect when no longer needed. If a connection attempt
fails (e.g. due to an OAuth error), the portal displays the error
message.

## Checklist

- [x] reference any related issues
- [x] updated unit tests
- [ ] add appropriate label (`enhancement`, `bug`, `breaking`,
`dependencies`, `ci`)
- [ ] ready for review

16 of 102 new or added lines in 5 files covered. (15.69%)

17 existing lines in 6 files now uncovered.

34800 of 76603 relevant lines covered (45.43%)

114.8 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
3
86.67
-3.58% proxy/portal/portal.go
5
32.2
-0.25% internal/mcp/handler_connect.go
23
0.0
internal/mcp/handler_portal.go
55
36.89
-26.19% proxy/handlers_portal.go

Uncovered Existing Lines

Lines Coverage ∆ File
1
75.15
-0.3% internal/databroker/config_source.go
1
75.41
0.0% pkg/storage/postgres/registry.go
2
90.91
0.0% pkg/fanout/receive.go
3
92.16
2.94% config/config_source.go
3
77.31
0.79% pkg/storage/postgres/backend.go
7
72.3
-4.73% pkg/grpcutil/client_manager.go
Jobs
ID Job ID Ran Files Coverage
1 22975777861.1 11 Mar 2026 09:53PM UTC 688
45.43
GitHub Action Run
Source Files on build 22975777861
  • Tree
  • List 688
  • Changed 14
  • Source Changed 5
  • Coverage Changed 13
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #22975777861
  • 6c7184fe on github
  • Prev Build on main (#22967674384)
  • Next Build on main (#23006516745)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc