Scoped Support MCP / Public work sample
Give an assistant a smaller surface.
Two read-only MCP tools for a fictional support API, with tenant filtering and deliberately minimal responses.
Public source + verified CI
MCP SDKJavaScriptstdioGitHub Actions
The problem
An assistant looking up a support ticket should not receive an unrestricted API client or unrelated customer records.
What I did
I set the boundaries and reviewed the AI-assisted build, focusing on what each tool can read, return and fail safely on.
How it works
- Expose two explicit read operations through the official MCP SDK over stdio.
- Apply tenant filtering inside the adapter, even when the upstream fixture returns mixed records.
- Validate arguments, minimize returned fields, bound failures and sanitize logs.
What you can verify
- 15 automated tests passed on Windows and Ubuntu CI.
- The runnable client retrieves the allowed ticket and is denied a ticket from another tenant.
- Tests cover mixed-tenant records and malformed, oversized and timed-out responses.
Project scope
Tenant selection is configuration, not authenticated identity. This is not production OAuth, a commercial-host UI integration or a proof of model prompt-injection safety.