# Tariff Code Compliance Explorer with MCP

Connect agents and developer tools directly to exact-version tariff systems through the hosted Tariff Code Compliance Explorer MCP server.

## Endpoint

The MCP server is an Auth0 OAuth-protected remote Streamable HTTP endpoint.

```text
https://api.prod.tariffcodecompliance.com/tariff-code-compliance/v1/mcp
```

The exact endpoint URL is also the OAuth resource and token audience. Access requires scope `tcc.knowledge_graph.read` plus the current Explorer product entitlement `explorer.mcp.read`.

The endpoint supports [MCP protocol version 2026-07-28](https://modelcontextprotocol.io/specification/2026-07-28) over stateless JSON Streamable HTTP. Every request is independent: the server does not issue or require `Mcp-Session-Id`.

## Discovery resources

- [OAuth protected-resource metadata](/.well-known/oauth-protected-resource)
- [MCP server card](/.well-known/mcp/server-card.json)
- [Agent Skills index](/.well-known/agent-skills/index.json)
- [Agent-readable site index](/llms.txt)

## Connect to an Agent

- [Connect Tariff Code Compliance to Claude](/docs/claude)
- [Connect Tariff Code Compliance to ChatGPT](/docs/chatgpt)

Those guides contain the client-specific controls, screenshots, and sign-in steps.

## Call the MCP via cURL

After completing OAuth, send an Auth0-issued MCP access token as a standard Bearer token. This discovery request confirms the supported protocol and server capabilities:

```bash
export AUTH0_MCP_ACCESS_TOKEN="<Auth0-issued MCP access token>"

curl -sS https://api.prod.tariffcodecompliance.com/tariff-code-compliance/v1/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "Authorization: Bearer ${AUTH0_MCP_ACCESS_TOKEN}" \
  -H "Mcp-Protocol-Version: 2026-07-28" \
  -H "Mcp-Method: server/discover" \
  --data '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "server/discover",
    "params": {
      "_meta": {
        "io.modelcontextprotocol/protocolVersion": "2026-07-28",
        "io.modelcontextprotocol/clientInfo": {
          "name": "tcc-protocol-test",
          "version": "1.0.0"
        },
        "io.modelcontextprotocol/clientCapabilities": {}
      }
    }
  }'
```

For protocol `2026-07-28`, `Mcp-Method` must equal the JSON-RPC method. A `tools/call` request also requires `Mcp-Name` to equal `params.name`.

## MCP reference

- [Prompts](/docs/mcp/prompts): reusable classification, review, and duty workflows.
- [Tools](/docs/mcp/tools): the seven read-only graph tools, pagination, and search bounds.
- [Examples](/docs/mcp/examples): JSON-RPC discovery, resolution, search, and traversal examples.

## Privacy and access

The client controls the conversation. Tariff Code Compliance receives only the inputs that the client selects and sends in MCP tool calls; it does not automatically receive the full chat. Do not send personal information, credentials, authentication secrets, or unrelated data.

Each user authenticates and consents separately through Auth0 OAuth with authorization code and PKCE. Do not paste access tokens or credentials into chat or connector configuration fields. See the [Privacy Policy](/legal/privacy-policy) for the complete data boundary.

## Troubleshooting

See [Troubleshooting Tariff Code Compliance connections](/docs/troubleshooting) for endpoint, OAuth, client, and request errors.
