Developer docs
Tariff Code Compliance MCP Server
Hosted MCP access to the Tariff Code Compliance knowledge graph for tariff-system discovery, code traversal, normalized entity lookup, and graph edge inspection.
Endpoint
The MCP server is an Auth0 OAuth-protected remote Streamable HTTP endpoint. It does not expose public preview or truncated responses.
https://api.prod.tariffcodecompliance.com/tariff-code-compliance/v1/mcpThe 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.
Protected-resource metadata:
https://api.prod.tariffcodecompliance.com/.well-known/oauth-protected-resourceAgent quick start
Claude
Add the endpoint as a private custom connector. Claude discovers Auth0 from the protected-resource metadata, registers the connector client, and opens the Auth0 sign-in and consent flow. After consent, call list_tariff_systems before selecting an explicit system and version for deeper tools.
ChatGPT
In developer mode, create an app for the endpoint above. ChatGPT discovers the OAuth configuration, registers the connector client, and opens the Auth0 sign-in and consent flow. After consent, call list_tariff_systems and then one of the version-scoped read tools.
Both clients use Auth0 Dynamic Client Registration, authorization code with PKCE, and renewable credentials. A new Auth0 identity receives its Explorer identity and initial MCP entitlement automatically; an existing identity keeps its current grant state.
For protocol troubleshooting after completing OAuth, an Auth0-issued MCP access token can be sent as a standard Bearer token:
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}" \
--data '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_tariff_systems",
"arguments": {}
}
}'The raw HTTP response is an MCP JSON-RPC response. Tool payloads are returned inside the MCP result object; the examples below show the parsed JSON payload for the called tool.
Tools
list_tariff_systemsdescribe_schemasearch_entitiesget_codeget_code_childrenget_entitylist_entity_edges
Discovery tools identify available systems and versions. Traversal tools require explicit system and version arguments and return normalized JSON contracts instead of raw database rows or stored knowledge graph JSON. Paged tools always return up to 25 items; clients cannot request heavier page sizes.
Example traversal
All calls are JSON-RPC requests sent to the MCP endpoint. The examples below use the sandbox knowledge graph output shape with US_HTS version 2026-rev-4; production clients should first call list_tariff_systems and use the returned version.
List tariff systems
Input:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "list_tariff_systems",
"arguments": {}
}
}Output:
{
"systems": [
{
"system": "US_HTS",
"display_name": "U.S. Harmonized Tariff Schedule",
"enabled": true,
"default_version": "2026-rev-4",
"default_system_version_id": "sysv:US_HTS:US:2026-rev-4",
"versions": [
{
"version": "2026-rev-4",
"system_version_id": "sysv:US_HTS:US:2026-rev-4",
"is_default": true
}
]
}
]
}Describe schema
Input:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "describe_schema",
"arguments": {
"system": "US_HTS",
"version": "2026-rev-4"
}
}
}Output:
{
"schema_id": "knowledge_graph.v2.normalized.mcp.v1",
"auth": "Every MCP request requires an Auth0 OAuth access token with scope tcc.knowledge_graph.read and a current explorer.mcp.read entitlement. The MCP endpoint does not return public preview data.",
"entity_types": [
{ "entity_type": "code", "fields": ["entity_id", "code", "display_code", "level", "description", "uom", "tariff_rates.rate_lines[].program_symbols[]", "tariff_rates.rate_lines[].program_symbol_details[{symbol,program?}]"] },
{ "entity_type": "note", "fields": ["entity_id", "title", "text", "scope_code_digits", "ordinal_path", "ordinal_display", "kind"] },
{ "entity_type": "term", "fields": ["entity_id", "scope", "term", "normalized", "match_variants", "definition_relation"] },
{ "entity_type": "annotation", "fields": ["entity_id", "source_type", "title", "summary", "text"] }
],
"edge_relations": [
{ "value": "parent_of", "description": "Hierarchy edge from parent entity to child entity." },
{ "value": "applies_to", "description": "Entity applies to another entity." },
{ "value": "references", "description": "Entity references another entity." },
{ "value": "defines", "description": "Entity defines another entity or term." },
{ "value": "excludes", "description": "Entity excludes another entity." }
],
"edge_filters": ["direction", "relation", "entity_type"],
"tool_limits": {
"page_size": 25
}
}For code entities, tariff_rates.rate_lines[].program_symbols is an array of raw special-program symbol strings. tariff_rates.rate_lines[].program_symbol_details is an array of { "symbol": string, "program"?: object } values. program is present when Tariff Code Compliance has cataloged details for that special-program symbol.
Search entities
Input:
{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "search_entities",
"arguments": {
"system": "US_HTS",
"version": "2026-rev-4",
"query": "sports equipment"
}
}
}Output:
{
"results": [
{
"entity_id": "ent:code:US_HTS:US:2026-rev-4:CHAPTER:95",
"code": "95",
"display_code": "95",
"level": "CHAPTER",
"description": "Chapter 95: Toys, Games And Sports Equipment; Parts And Accessories Thereof"
}
],
"page": {
"has_more": false,
"total_count": 1
}
}Get one code
Input:
{
"jsonrpc": "2.0",
"id": 4,
"method": "tools/call",
"params": {
"name": "get_code",
"arguments": {
"system": "US_HTS",
"version": "2026-rev-4",
"code": "9506"
}
}
}Output:
{
"code": {
"entity_id": "ent:code:US_HTS:US:2026-rev-4:HEADING:9506",
"code": "9506",
"display_code": "9506",
"level": "HEADING",
"description": "Articles and equipment for general physical exercise, gymnastics, athletics, other sports (including table-tennis) or outdoor games..."
}
}Get code children
Input:
{
"jsonrpc": "2.0",
"id": 5,
"method": "tools/call",
"params": {
"name": "get_code_children",
"arguments": {
"system": "US_HTS",
"version": "2026-rev-4",
"code": "95"
}
}
}Output:
{
"parent": {
"entity_id": "ent:code:US_HTS:US:2026-rev-4:CHAPTER:95",
"code": "95",
"display_code": "95",
"level": "CHAPTER",
"description": "Chapter 95: Toys, Games And Sports Equipment; Parts And Accessories Thereof"
},
"children": [
{ "code": "9503", "display_code": "95.03", "level": "HEADING", "description": "Tricycles, scooters, pedal cars and similar wheeled toys..." },
{ "code": "9504", "display_code": "9504", "level": "HEADING", "description": "Video game consoles and machines, table or parlor games..." },
{ "code": "9505", "display_code": "9505", "level": "HEADING", "description": "Festive, carnival or other entertainment articles..." },
{ "code": "9506", "display_code": "9506", "level": "HEADING", "description": "Articles and equipment for general physical exercise, gymnastics, athletics, other sports..." },
{ "code": "9507", "display_code": "9507", "level": "HEADING", "description": "Fishing rods, fish hooks and other line fishing tackle..." },
{ "code": "9508", "display_code": "9508", "level": "HEADING", "description": "Traveling circuses, traveling menageries and traveling theaters..." }
],
"page": {
"has_more": false,
"total_count": 6
}
}List entity edges
Input:
{
"jsonrpc": "2.0",
"id": 6,
"method": "tools/call",
"params": {
"name": "list_entity_edges",
"arguments": {
"system": "US_HTS",
"version": "2026-rev-4",
"entity_id": "ent:code:US_HTS:US:2026-rev-4:NATIONAL_8:84805000",
"direction": "outgoing",
"relation": "parent_of",
"entity_type": "code"
}
}
}Output:
{
"edges": [
{
"edge_id": "edge:parent_of:from:ent:code:US_HTS:US:2026-rev-4:NATIONAL_8:84805000:to:ent:code:US_HTS:US:2026-rev-4:NATIONAL_10:8480500010",
"relation": "parent_of",
"direction": "outgoing",
"from_entity_id": "ent:code:US_HTS:US:2026-rev-4:NATIONAL_8:84805000",
"from_entity_type": "code",
"to_entity_id": "ent:code:US_HTS:US:2026-rev-4:NATIONAL_10:8480500010",
"to_entity_type": "code",
"source_id": "src:us_hts:2026-rev-4:csv"
},
{
"edge_id": "edge:parent_of:from:ent:code:US_HTS:US:2026-rev-4:NATIONAL_8:84805000:to:ent:code:US_HTS:US:2026-rev-4:NATIONAL_10:8480500090",
"relation": "parent_of",
"direction": "outgoing",
"from_entity_id": "ent:code:US_HTS:US:2026-rev-4:NATIONAL_8:84805000",
"from_entity_type": "code",
"to_entity_id": "ent:code:US_HTS:US:2026-rev-4:NATIONAL_10:8480500090",
"to_entity_type": "code",
"source_id": "src:us_hts:2026-rev-4:csv"
}
],
"page": {
"has_more": false,
"total_count": 2
}
}Markdown
The canonical source for this page is available as Markdown at /docs/mcp.md.