Direct, high-conviction FDI & Corporate Expansion Intelligence for Autonomous AI Agents
The OCO FastMCP Gateway exposes our verified 1.77M+ signal Data Lake using the Model Context Protocol (MCP 2024-11-05) over Streamable HTTP and REST fallbacks.
| Method | Endpoint Path | Protocol / Target | Authentication |
|---|---|---|---|
| POST | /mcp |
Streamable HTTP / SSE (JSON-RPC 2.0) | Bearer JWT |
| GET | /v1/signals/search |
OpenAPI REST Fallback | Bearer JWT |
| POST | /v1/auth/token |
Automated Self-Service Token Refresh | Public Staging |
| GET | /health |
Liveness & PostgreSQL Status Probe | Public |
All tool calls require an Authorization: Bearer <token> header. Tokens enforce tenant isolation and scope boundaries.
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZ2VudC1pbm5vbG9mdCIsInRlbmFudCI6Imlubm9sb2Z0IiwiZW50aXRsZW1lbnQiOiJlbnRlcnByaXNlX3RyaWFsIiwic2NvcGUiOiJmcmFua2Z1cnRfcGlsb3QiLCJpYXQiOjE3OTA2ODk0MzgsImV4cCI6MTc5MzI4MTQzOCwiaXNzIjoiaHR0cHM6Ly9zdGFnaW5nLW1jcC5vY29jb25uZWN0LmNvbSIsImF1ZCI6Imh0dHBzOi8vbG9mdG9zLmNvbSJ9.PKLjC2a4Z4TuVDPLhyBAGd3MBtmMm2ifwYRBzb4ZTsw
When a token expires, subagents can request a fresh 30-day token programmatically without human intervention:
curl -X POST "https://staging-mcp.ococonnect.com/v1/auth/token?tenant=innoloft&scope=frankfurt_pilot"
If you prefer to mint tokens inside your own backend microservices:
| Claim | Value | Description |
|---|---|---|
alg | HS256 | HMAC with SHA-256 (Secret: staging_inno_secret_key_2026_change_in_prod) |
sub | agent-innoloft | Subagent identifier |
tenant | innoloft | Tenant isolation partition |
scope | frankfurt_pilot | Authorized geographic / project dataset |
iss | https://staging-mcp.ococonnect.com | Issuer identifier |
aud | https://loftos.com | Target audience |
exp | Unix Timestamp | Expiration time (strictly greater than current time) |
search_signalsConforms to Anthropic CCAR-F Domain 2 standards with 6 orthogonal parameters. Zero matches return a clean 200 OK with total: 0 and signals: [] to prevent agent crashes.
curl -X POST https://staging-mcp.ococonnect.com/mcp \
-H "Authorization: Bearer <YOUR_JWT_TOKEN>" \
-H "Accept: application/json, text/event-stream" \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "search_signals",
"arguments": {
"query": "data center",
"target_market": "Germany",
"limit": 3
}
},
"id": 1
}'
claude_desktop_config.json){
"mcpServers": {
"oco-ai-signals": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-streamable-http",
"https://staging-mcp.ococonnect.com/mcp"
],
"env": {
"MCP_HEADERS": "{\"Authorization\": \"Bearer <YOUR_JWT_TOKEN>\"}"
}
}
}
}
curl "https://staging-mcp.ococonnect.com/v1/signals/search?query=data+center&target_market=Germany&limit=2" \
-H "Authorization: Bearer <YOUR_JWT_TOKEN>"