Update testplan for MCP (#64378)

* Update testplan for MCP

* add more config stuff, add rbac section
This commit is contained in:
STeve (Xin) Huang
2026-03-06 21:44:22 +00:00
committed by GitHub
parent 01381a4c02
commit bb981e095d
2 changed files with 46 additions and 2 deletions
+44
View File
@@ -1684,6 +1684,18 @@ manualy testing.
Configure a database agent with a database that has an unreachable URI (e.g. localhost:5432).
- [ ] The web UI resource page shows an warning indicator for that database with error details.
- [ ] Without restarting the agent, make the database endpoint reachable and observe that the indicator in the web UI resources page disappears after some time.
- [ ] Verify [database access via MCP](https://goteleport.com/docs/connect-your-client/model-context-protocol/database-access/)
- [ ] Postgres
- [ ] Redshift
- [ ] CockroachDB
- [ ] Verify Teleport MCP servers can be configured and function correctly across various clients
- [ ]`tsh mcp db config`
- [ ] Claude Desktop
- [ ] VSCode
- [ ] Cursor
- [ ] `claude`
- [ ] `codex`
- [ ] Dev testing via MCP inspector
## Git Proxy
- [ ] [GitHub proxy](https://goteleport.com/docs/admin-guides/management/guides/github-integration/)
@@ -2306,6 +2318,38 @@ The following should work with SSO MFA, automatically opening the SSO MFA redire
- [ ] Desktop Access
- [ ] Headless (`tsh ls --headless`)
## MCP Access
- [ ] Verify Teleport supports MCP servers in various transports
- [ ] Teleport demo server (special in-memory MCP)
- [ ] stdio
- [ ] Verify Teleport/tsh can automatically reconnect if client connection is disrupted
- [ ] Verify the MCP process (node, python, etc.) is stopped after session is done
- [ ] Verify docker containers are removed after session is done for docker-based MCPs.
- [ ] Verify `run_as_host_user` with a different user than caller.
- [ ] streamable-HTTP
- [ ] Verify custom headers can be set via `app.rewrite.headers`
- [ ] Verify Teleport can passthrough custom headers from client side (e.g. github PAT via `tsh db connect --header`)
- [ ] Verify Teleport can passthrough 3rd party OAuth flow (e.g. Cloudflare OAuth)
- [ ] Verify egress auth with JWT token (e.g. Grafana that trust's Teleport JWT)
- [ ] Verify egress auth with OpenID token (e.g. AWS AgentCore MCP Gateway)
- [ ] SSE (deprecated but still in-use)
- [ ] Verify Teleport MCP servers can be configured and function correctly across various clients
- [ ] `tsh mcp config`
- [ ] Claude Desktop
- [ ] VSCode
- [ ] Cursor
- [ ] `claude`
- [ ] `codex`
- [ ] Web UI deep links
- [ ] VSCode
- [ ] Cursor
- [ ] Dev testing via MCP inspector
- [ ] Verify Teleport MCP servers hint on "tsh login" when tsh session is expired (via chat/prompt)
- [ ] RBAC
- [ ] Verify users can only see MCP servers allowed by `allow.app_labels`
- [ ] Verify MCP client can only see allowed tools
- [ ] Verify `deny.mcp.tools` is greedy (deny overrides allow)
## Resources
[Quick GitHub/SAML/OIDC Setup Tips]
+2 -2
View File
@@ -1,6 +1,6 @@
---
authors: STeve Huang ([email protected])
state: draft
state: implemented (18.1)
---
# RFD 0209 - MCP Access
@@ -531,4 +531,4 @@ the app definition as it might become a security concern when secrets like
One workaround today is to launch the MCP server using Docker and specify the
environment variables through an env file. Alternatively, users can set these
environment variables when starting the Teleport process, since the MCP server
inherits the Teleport process’s environment by default.
inherits the Teleport process’s environment by default.