All TARS data is public and machine-readable. Query status, trust scores, and endpoint metadata over REST, MCP, or A2A. Register new endpoints via the REST API or web form.
Returns the current status, uptime, and response time for every active endpoint. Public, no authentication required. Updated every 60 seconds.
curl https://tars.dev/api/v1/status{
"schema_version": "1.0",
"overall_status": "all_operational",
"endpoint_count": 12,
"endpoints": [{
"slug": "mcp-registry",
"protocol": "MCP",
"current_status": "up",
"uptime_percent": {"last_30d": 99.8}
}]
}Submit an endpoint for monitoring. Idempotent — safe to call on every app startup. Endpoints that pass an initial health check begin probing within minutes. Others are queued for manual review.
curl -X POST \ https://tars.dev/api/v1/register \ -H "Content-Type: application/json" \ -d ' { "url": "https://api.example.com/mcp", "protocol": "MCP", "name": "My MCP Server", "hosting_region": "aws-eu-west-1" }'
{
"status": "monitoring",
"slug": "api-example-com",
"monitoring_url": "https://tars.dev/monitor/api-example-com"
}Called automatically by the @tars/sdk — not intended for direct use. Submits a windowed batch of anonymous call statistics from an SDK reporter instance. Used to compute Class B ratings (community adoption signal).
// Handled automatically — no direct calls needed import { TarsReporter } from '@tars/sdk' const reporter = new TarsReporter() // Flushes to /api/v1/ingest every 5 minutes
{
"accepted": 3,
"skipped": 0,
"auto_listed": 1
}Exposes TARS data as a Model Context Protocol server. Agents and MCP clients can connect to this endpoint to query live status and trust data programmatically. Streamable HTTP transport, JSON-RPC 2.0.
List all monitored endpoints with current status, uptime, and response times.
Detailed reliability metrics for one endpoint — status, latency, uptime over 24h/7d/30d.
Concise trust summary for any URL — status, uptime, and conformance. Hostname-level matching.
import { Client } from '@modelcontextprotocol/sdk/client/index.js' import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js' const client = new Client({ name: 'my-agent', version: '1.0' }) await client.connect( new StreamableHTTPClientTransport( new URL('https://tars.dev/mcp') ) ) const result = await client.callTool({ name: 'get_trust_summary', arguments: { url: 'https://mcp.example.com' } })
Google Agent-to-Agent protocol v0.2. Accepts tasks/send with either a structured data part (direct skill dispatch) or a text part (keyword routing). All tasks are synchronous — no stored state.
curl -X POST https://tars.dev/a2a \ -H "Content-Type: application/json" \ -d '{ "jsonrpc": "2.0", "id": 1, "method": "tasks/send", "params": { "id": "task-1", "message": { "role": "user", "parts": [{ "type": "data", "data": { "skill": "get_trust_summary", "arguments": {"url": "https://mcp.example.com"} } }]} } }'