Name the job, not the vendor. Routes a provider, fails over, catalog off the tool list.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Token minted at https://thruact.com under Settings → Tokens
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.
Run a capability. Routes across providers and fails over automatically on provider faults. The reply's `route` says which providers were considered, what each scored, and why any were not used — including ones dropped for a missing credential.
Race a backup provider if the first is slower than usual. Cuts tail latency; you are charged for one answer.
What to optimise for among the providers that fit the ceiling.
Ceiling for this call. Narrows which providers may be used rather than refusing outright; if nothing fits, the error names the cheapest price that would.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Run a capability. Routes across providers and fails over automatically on provider faults. The reply's `route` says which providers were considered, what each scored, and why any were not used — including ones dropped for a missing credential.
| Argument | Type | Description |
|---|---|---|
| hedge | boolean | Race a backup provider if the first is slower than usual. Cuts tail latency; you are charged for one answer. |
| input | object | |
| prefer | string | What to optimise for among the providers that fit the ceiling. |
| capability* | string | |
| max_cost_usd | number | Ceiling for this call. Narrows which providers may be used rather than refusing outright; if nothing fits, the error names the cheapest price that would. |
{
"type": "object",
"required": [
"capability"
],
"properties": {
"hedge": {
"type": "boolean",
"description": "Race a backup provider if the first is slower than usual. Cuts tail latency; you are charged for one answer."
},
"input": {
"type": "object"
},
"prefer": {
"enum": [
"cheapest",
"fastest"
],
"type": "string",
"description": "What to optimise for among the providers that fit the ceiling."
},
"capability": {
"type": "string"
},
"max_cost_usd": {
"type": "number",
"description": "Ceiling for this call. Narrows which providers may be used rather than refusing outright; if nothing fits, the error names the cheapest price that would."
}
}
}Run one specific tool by id. No failover.
| Argument | Type | Description |
|---|---|---|
| tool* | string | |
| params | object |
{
"type": "object",
"required": [
"tool"
],
"properties": {
"tool": {
"type": "string"
},
"params": {
"type": "object"
}
}
}Ask every provider behind a capability the same question at once and report where their answers differ. Use it when the answer matters enough to want it corroborated. Costs more than act: every provider called is paid.
| Argument | Type | Description |
|---|---|---|
| input | object | |
| providers | integer | How many providers to ask. Omit for all of them. |
| capability* | string |
{
"type": "object",
"required": [
"capability"
],
"properties": {
"input": {
"type": "object"
},
"providers": {
"type": "integer",
"description": "How many providers to ask. Omit for all of them."
},
"capability": {
"type": "string"
}
}
}Find capabilities for a job, with prices and measured reliability. Search first, execute second.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Max candidates |
| query* | string | Natural language job |
{
"type": "object",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"description": "Max candidates"
},
"query": {
"type": "string",
"description": "Natural language job"
}
}
}Measured reliability per tool over the last 7 days.
| Argument | Type | Description |
|---|---|---|
| capability | string |
{
"type": "object",
"properties": {
"capability": {
"type": "string"
}
}
}Send an authenticated request to a third-party vendor the workspace has connected. The stored API key is injected server-side — you never see it. Give the vendor id from the directory (e.g. openai, sendgrid), an HTTP method, and a path on that vendor's own API. Use it to act through a connected vendor that is not a Thruact capability. Metered per call.
| Argument | Type | Description |
|---|---|---|
| body | object | JSON request body for POST/PUT/PATCH |
| path* | string | Path on the vendor's API, e.g. /v1/models |
| method | string | |
| vendor* | string | Vendor id from the directory |
{
"type": "object",
"required": [
"vendor",
"path"
],
"properties": {
"body": {
"type": "object",
"description": "JSON request body for POST/PUT/PATCH"
},
"path": {
"type": "string",
"description": "Path on the vendor's API, e.g. /v1/models"
},
"method": {
"enum": [
"GET",
"POST",
"PUT",
"PATCH",
"DELETE"
],
"type": "string"
},
"vendor": {
"type": "string",
"description": "Vendor id from the directory"
}
}
}Prepaid balance and recent charges.
No arguments.
{
"type": "object",
"properties": {}
}