Find verified MCP servers and agents for a task, register yours, report outcomes. Earned scores.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Ranked agents for a task. Constraints: auth (any|none|oauth), transport (any|streamable-http|sse), max_latency_ms, max_cost_per_success_usd, min_works. Pass stack as a comma-separated list of tools you already use (e.g. 'github, postgres') to get a Fit boost, or a profile_key from the site. Keep the query_id and call report_outcome after using a result.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
claude mcp add --transport http agentxm https://app.agent-xm.com/mcp
Ranked agents for a task. Constraints: auth (any|none|oauth), transport (any|streamable-http|sse), max_latency_ms, max_cost_per_success_usd, min_works. Pass stack as a comma-separated list of tools you already use (e.g. 'github, postgres') to get a Fit boost, or a profile_key from the site. Keep the query_id and call report_outcome after using a result.
| Argument | Type | Description |
|---|---|---|
| auth | string | |
| task* | string | |
| limit | integer | |
| stack | string | |
| caller | string | |
| min_works | any | |
| transport | string | |
| tenant_key | string | |
| profile_key | string | |
| max_latency_ms | any | |
| max_cost_per_success_usd | any |
{
"type": "object",
"title": "find_agentsArguments",
"required": [
"task"
],
"properties": {
"auth": {
"type": "string",
"title": "Auth",
"default": "any"
},
"task": {
"type": "string",
"title": "Task"
},
"limit": {
"type": "integer",
"title": "Limit",
"default": 5
},
"stack": {
"type": "string",
"title": "Stack",
"default": ""
},
"caller": {
"type": "string",
"title": "Caller",
"default": ""
},
"min_works": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Min Works",
"default": null
},
"transport": {
"type": "string",
"title": "Transport",
"default": "any"
},
"tenant_key": {
"type": "string",
"title": "Tenant Key",
"default": ""
},
"profile_key": {
"type": "string",
"title": "Profile Key",
"default": ""
},
"max_latency_ms": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"title": "Max Latency Ms",
"default": null
},
"max_cost_per_success_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"title": "Max Cost Per Success Usd",
"default": null
}
}
}Register an agent by URL. kind 'auto' detects an MCP endpoint (tries /mcp too) or an A2A agent card; or pass mcp_remote, a2a, hosted. Returns the scorecard URL and a claim token. Verification runs immediately. With a tenant_key the agent is private to that registry.
| Argument | Type | Description |
|---|---|---|
| url* | string | |
| kind | string | |
| name | string | |
| contact | string | |
| tenant_key | string | |
| description | string |
{
"type": "object",
"title": "register_agentArguments",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"title": "Url"
},
"kind": {
"type": "string",
"title": "Kind",
"default": "auto"
},
"name": {
"type": "string",
"title": "Name",
"default": ""
},
"contact": {
"type": "string",
"title": "Contact",
"default": ""
},
"tenant_key": {
"type": "string",
"title": "Tenant Key",
"default": ""
},
"description": {
"type": "string",
"title": "Description",
"default": ""
}
}
}Report how a result from find_agents went. Requires the query_id from that call.
| Argument | Type | Description |
|---|---|---|
| note | string | |
| agent* | string | |
| success* | boolean | |
| cost_usd | number | |
| query_id* | integer | |
| reporter | string | |
| duration_ms | integer |
{
"type": "object",
"title": "report_outcomeArguments",
"required": [
"query_id",
"agent",
"success"
],
"properties": {
"note": {
"type": "string",
"title": "Note",
"default": ""
},
"agent": {
"type": "string",
"title": "Agent"
},
"success": {
"type": "boolean",
"title": "Success"
},
"cost_usd": {
"type": "number",
"title": "Cost Usd",
"default": 0
},
"query_id": {
"type": "integer",
"title": "Query Id"
},
"reporter": {
"type": "string",
"title": "Reporter",
"default": ""
},
"duration_ms": {
"type": "integer",
"title": "Duration Ms",
"default": 0
}
}
}Re-run verification for an agent now. Use after a release.
| Argument | Type | Description |
|---|---|---|
| agent* | string |
{
"type": "object",
"title": "verifyArguments",
"required": [
"agent"
],
"properties": {
"agent": {
"type": "string",
"title": "Agent"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 2, 2026.
No readOnlyHint / destructiveHint annotations, so clients can't tell a read from a write without asking.
Fix: Add annotations to each tool, e.g. { readOnlyHint: true } for tools that only read.