The problem
Every agent project that needed to read or write to an external system — Jira, Confluence, internal APIs — was building its own bespoke integration code. That meant duplicated auth handling, duplicated error handling, and no consistent way to reason about what an agent was actually allowed to touch.
What I built
A set of MCP server integrations that expose these systems to agents through a standard protocol instead of custom glue code per project. Once a system is wired up as an MCP server, any agent — the triage agent, exploratory tooling, one-off scripts — can use it with the same interface and the same permission boundaries.
How it works
- Server configuration: each external system (Atlassian, internal APIs) is exposed through an MCP server with a defined, scoped set of tools.
- Tool discovery: agents inspect available tools at runtime rather than having capabilities hardcoded per project.
- Auditability: every tool call is logged at the protocol layer, giving a consistent audit trail regardless of which agent or project made the call.
Impact
New agent projects stopped rebuilding integration code from scratch — connecting to an already-configured MCP server took a fraction of the time custom integrations used to take, and every integration now shares the same auth and audit story.
Stack
Model Context Protocol, Claude, Atlassian APIs, TypeScript.