Skip to content
~nguyen-huu-trung
← Back to projects

Conexa · Integration infrastructure

A Go MCP server — opening the platform to external agents

Lets outside AI agents (Claude, ChatGPT…) use the platform’s data through the MCP standard, with JWT sign-in and access that users grant and revoke themselves.

Role
Sole author
Period
2025
Stack
GoMCPPostgreSQLSupabaseJWT

note: Private client work — described at architecture level only, no source or customer data.

  • MCP

    open standard, any client can connect

  • JWT

    user authentication

  • 1×

    access asked once, revocable

The problem

Customers and external tooling wanted their own agents to reach platform data. Exposing a conventional “AI API” would create a second permission set — one guaranteed to drift from the real one over time.

The approach

  1. 01

    Verify at the edge, enforce downstream

    The sign-in token (Supabase JWT) is checked as soon as a request arrives, and data is then filtered by the same permissions the main app uses.

  2. 02

    Consent as data, not configuration

    Each kind of access is asked from the user once and stored in PostgreSQL; users can see what they granted and revoke it at any time.

  3. 03

    Built on the MCP standard

    Written in Go with the official MCP SDK over HTTP, so any standard MCP client can connect without a custom SDK.

Outcome

  • External agents can consume platform data through an open standard while the permission boundary stays the existing one.
  • Users can see what they granted and withdraw it — no implicit access.