Connect your AI to GateCore AI.
This is the page we send anyone who asks how to try it. Point Claude, ChatGPT, Cursor, or a raw HTTP client at one endpoint and it can browse the governed marketplace, no account required. Get a free key to procure and transact.
https://mcp.gatecoreai.com/mcp
Browsing (discover_listings, get_listing) needs no account. Procuring, submitting a lead, or otherwise transacting needs a GateCore MCP access key. Get one free at app.gatecoreai.com/developer/portal.
Claude
Smoothest pathClaude, on claude.ai and in Claude Code, adds remote MCP servers as first-class connectors. This is the path we recommend if you have a choice: no wrapper code, no SDK install, just a URL.
claude.ai and the Claude desktop app
- Open Settings → Connectors.
From any conversation, open the settings menu and choose Connectors.
- Add custom connector.
Click Add custom connector at the bottom of the connector list.
- Enter the GateCore endpoint.
Name it
GateCore, pastehttps://mcp.gatecoreai.com/mcpas the remote MCP server URL, and save. No authentication step is required to browse. - Enable it in a chat.
Turn the connector on for the conversation, then ask Claude to look something up on the GateCore marketplace.
Claude Code (CLI)
Add it as a project or user-scoped MCP server with the CLI:
claude mcp add --transport http gatecore https://mcp.gatecoreai.com/mcp
Or drop this directly into a project's .mcp.json:
{
"mcpServers": {
"gatecore": {
"type": "http",
"url": "https://mcp.gatecoreai.com/mcp"
}
}
}
ChatGPT
Developer path only, todayBeing straight about this: the consumer ChatGPT chat interface does not let you add an arbitrary remote MCP server the way Claude does. If you're chatting in the ChatGPT app or on chatgpt.com, there is no menu that reaches https://mcp.gatecoreai.com/mcp today.
What does work is OpenAI's Agents SDK (or ChatGPT's developer/connector mode, where your account has it enabled), where you point your own agent code at our streamable-HTTP endpoint directly.
OpenAI Agents SDK (Python)
pip install openai-agents
import asyncio
from agents import Agent, Runner
from agents.mcp import MCPServerStreamableHttp
async def main():
async with MCPServerStreamableHttp(
params={"url": "https://mcp.gatecoreai.com/mcp"},
name="gatecore",
) as gatecore:
agent = Agent(
name="Assistant",
instructions="Use the gatecore server to discover and, when asked, procure governed marketplace listings.",
mcp_servers=[gatecore],
)
result = await Runner.run(agent, "What can I buy on GateCore right now?")
print(result.final_output)
asyncio.run(main())
Browsing needs nothing else. If your agent will call procure or submit_lead, pass a GateCore MCP access key through wherever your tool call carries credentials, not as a query parameter.
Cursor & other MCP clients
Generic mcpServers configCursor, Windsurf, and most other MCP-capable editors and agents read the same shape of config: an mcpServers object keyed by server name, with a remote url. Add this to Cursor's ~/.cursor/mcp.json (all projects) or .cursor/mcp.json in a repo (that project only), or the equivalent file for your tool.
{
"mcpServers": {
"gatecore": {
"url": "https://mcp.gatecoreai.com/mcp"
}
}
}
If your client asks for a transport type, it's streamable HTTP. No API key or header is required to browse.
Raw curl quickstart.
Three requests: open a session, list the tools, and call one. This is the exact sequence and headers, copy-paste runnable against the live endpoint.
1. Initialize a session
The Accept header must list both JSON and event-stream: the server replies over SSE. The response carries an mcp-session-id header; save it.
curl -s -i -X POST https://mcp.gatecoreai.com/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"quickstart","version":"1.0"}}}'
HTTP/2 200
mcp-session-id: 5cd1565616414d14939ba8a580f8e4ff
content-type: text/event-stream
event: message
data: {"jsonrpc":"2.0","id":1,"result":{"protocolVersion":"2025-06-18","capabilities":{"tools":{"listChanged":false}},"serverInfo":{"name":"GateCore Marketplace","version":"1.28.1"}}}
2. List the available tools
Send the mcp-session-id from step 1 on every request that follows.
curl -s -X POST https://mcp.gatecoreai.com/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "mcp-session-id: $SESSION_ID" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/list"}'
event: message
data: {"jsonrpc":"2.0","id":2,"result":{"tools":[
{"name":"discover_listings","title":"Discover Marketplace Listings", ...},
{"name":"get_listing","title":"Get Listing Details", ...},
{"name":"procure","title":"Request Governed Procurement", ...},
{"name":"list_procurements","title":"List Procurement Decisions", ...},
{"name":"submit_lead","title":"Submit Consumer Lead", ...}
]}}
3. Call discover_listings
No arguments required; every field is optional. This is a real, unauthenticated call, and no key is needed.
curl -s -X POST https://mcp.gatecoreai.com/mcp \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-H "mcp-session-id: $SESSION_ID" \
-d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"discover_listings","arguments":{}}}'
event: message
data: {"jsonrpc":"2.0","id":3,"result":{"content":[{"type":"text","text":"{
\"listing_id\": \"listing:tool-sodzilla-lead-quote\",
\"kind\": \"resource_capability\",
\"title\": \"The Sodzilla: Sod Installation, Lawn Replacement and Turf Quote, South Pinellas County FL (Qualified Lead)\",
\"contract\": { \"contract_id\": \"contract:tool:sodzilla-lead-quote\", \"version\": \"1.2.0\", ... },
\"lifecycle\": \"published\",
\"contract_sha256\": \"0dcdc784091ccabf1e91d54a89eb440e48cf41d87758945eff504e54519dc842\"
}"}],"isError":false}}
Captured live against mcp.gatecoreai.com on 26 August 2026. Listings, session IDs, and hashes will differ on your run; the shapes will not.
What you get, at each level.
Browse
Anything read-only, open to any agent that can send an HTTP request.
discover_listings: search the marketplace by keyword, tag, price ceiling, or minimum trustget_listing: fetch one listing's full contract, price, scopes, trust floor, data classification- Read the receipt verifier and confirm any GateCore receipt offline
- Read
llms.txtand the sitemap for the full page roster
Transact
A GateCore MCP access key (gcmk_...) from the developer portal unlocks the rest.
procure: request a governed procurement decision against a listing's contractlist_procurements: read your tenant's own procurement historysubmit_lead: submit a consented consumer lead to a listing that accepts them- Every successful action returns a signed receipt bound to the decision, price, and outcome
Nothing here is unverifiable.
Every governed action GateCore AI takes, whether a procurement decision, a denial, or a lead submission, produces one signed record bound to the decision, the contract it was made under, and the outcome. Either party can check it later, offline, with no cooperation from us.