Use your MCP endpoint from any client
Once a connection is published, you get one hosted MCP endpoint at a single URL. Point Claude, ChatGPT, or a custom agent at that URL and they all see the same governed tools. This page shows where to find the endpoint, how to connect common clients, and how to call it directly from code.
- 1
Find your endpoint
Console -> ConnectOpen a published connection in the console and choose Connect. DataTether shows the hosted endpoint URL for that service. It is the same URL every client will use, so you only need to copy it once.
What you'll seeLive endpoint https://mcp.suriz.in/{org}/{system-name}/mcp # {org} is your organization slug, {system-name} the connection's name. - 2
Connect Claude
Client -> MCP serversAdd the endpoint as a remote MCP server. In a client that reads an
mcpServersmap, give the server a name and point itsurlat your endpoint.Any MCP client that supports remote servers can use this same URL. There is nothing client-specific in the endpoint itself.
What you'll seeRemote server added { "mcpServers": { "datatether": { "url": "https://mcp.suriz.in/{org}/{system-name}/mcp" } } } - 3
Connect ChatGPT or a custom agent
Agent -> ToolsThe pattern is provider-neutral: register the endpoint as a remote MCP server and let the client discover the tools. A custom agent does the same thing in code by pointing its MCP client at the URL.
What you'll seeTools discovered # Provider-neutral remote MCP server config mcp_servers: - name: datatether transport: streamable_http url: https://mcp.suriz.in/{org}/{system-name}/mcp # The client lists tools, then calls them by name. - 4
List tools over HTTP
POST /{org}/{system-name}/mcpUnder the hood, the endpoint speaks JSON-RPC 2.0 over Streamable HTTP, with SSE compatibility for older clients. To see what is available, POST a
tools/listrequest. No arguments are required.What you'll see200 OK curl -X POST https://mcp.suriz.in/{org}/{system-name}/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' # Response { "jsonrpc": "2.0", "id": 1, "result": { "tools": [ { "name": "list_SalesOrder", "description": "Filter and page through sales orders" }, { "name": "get_SalesOrder", "description": "Fetch one sales order by key" } ] } } - 5
Call a tool
POST /{org}/{system-name}/mcpTo run a tool, POST a
tools/callrequest with the toolnameand itsarguments. Read tools return data directly; tools that write can require human confirmation before they run.What you'll see200 OK # Request { "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "list_SalesOrder", "arguments": { "top": 5 } } } # Result { "jsonrpc": "2.0", "id": 2, "result": { "content": [ { "type": "text", "text": "5 sales orders returned" } ], "structuredContent": { "value": [ { "SalesOrder": "0000000123", "SoldToParty": "0000100001", "TotalNetAmount": "1840.00" } ] } } } - 6
Go further: composite tools, transformations, and code UIs
Console -> BuildThe same endpoint can serve more than one-to-one entity tools. These are configured in the console and appear to clients as ordinary tools and results:
What you can layer onSame endpoint - Composite tools join multiple OData sources into a single tool, so a client gets one combined result instead of orchestrating several calls.
- Field transformations shape the returned fields, renaming, formatting, or trimming them, so clients see clean output without touching the source service.
- Hosted code UIs are small HTML and JS apps that call your tools through an injected MCP bridge, rendering rich interfaces directly inside compatible AI clients. See the MCP UI page.