ComputeFirst
Measured conclusion: Alive, not deep-tested. L2 outcome: not_attempted.
Free deterministic tools for math, data transforms, dates, text, statistics, finance, and units.
| Author | io.github.321zz321 |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Alive, not deep-tested |
| L1 liveness | alive |
| L1 latency | 2455 ms |
| Last measured | 2026-10-26 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"ComputeFirst": {
"url": "https://computefirst.net/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (15)
searchread-onlySearch the ComputeFirst catalog (computefirst.net/tools) with an English task. Returns up to 5 tools (3 by default) with id, version and a 0–1 score; a confident first match includes its input contract. No match: request_tool can ask for one.
Parameters:
query(required) — stringlimit— integerinclude_contract— boolean
Hints: read-only yes · destructive no · idempotent yes · open-world no
describeread-onlyInput schema, limits and examples of one ComputeFirst catalog tool, by id and version.
Parameters:
id(required) — stringversion(required) — string
Hints: read-only yes · destructive no · idempotent yes · open-world no
executeread-onlyRun one ComputeFirst catalog tool by id and version with its JSON input. Returns the deterministic result and an unmeasured savings receipt. Limits: computefirst.net/docs#limits.
Parameters:
id(required) — stringversion(required) — stringinput(required) — objectmodel— string — Optional: your model id, only so savings can be shown per model
Hints: read-only yes · destructive no · idempotent yes · open-world no
execute_batchread-onlyRun 1–20 ComputeFirst catalog tools in one request. Optional bindings fill an input key from an earlier result (JSON Pointer); include_result:false omits an intermediate. Steps after a failed dependency are skipped; nothing is retried automatically. Each success is one execution. Inputs, results and response: 256 KiB each. A factory work budget can skip an item with batch_work_limit; finance and exact decimal power/root/expression tools use the full factory allowance. Send additional factory operations separately. Split refused work; successful items are never retried automatically.
Parameters:
operations(required) — arraymodel— string — Optional: your model id, only so savings can be shown per model
Hints: read-only yes · destructive no · idempotent yes · open-world no
savingsread-onlySavings totals, optionally for one model: with a key, the account's measured and estimated totals; otherwise community verified totals. Unmeasured is not zero.
Parameters:
model— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
feedbackTell ComputeFirst what helped or went wrong (a missing tool fits request_tool). A stable request_id makes retries safe. Leave out secrets and raw data.
Parameters:
category(required) — stringmessage(required) — stringrequest_id(required) — stringexecution_ref— string
Hints: read-only no · destructive no · idempotent yes · open-world no
request_toolAsk for a tool that does not exist yet: the task, optionally example input and output. Optional contact_email (with email_consent:true), only if the person wants one email when it ships. Leave out secrets.
Parameters:
description(required) — stringcontact_email— stringemail_consent— booleanexample_input— stringexample_output— string
Hints: read-only no · destructive no · idempotent no · open-world no
subscribeSubscribe an email to new-tool announcements, only when the person asks for them (consent:true). Every email has an unsubscribe link.
Parameters:
email(required) — stringconsent(required)
Hints: read-only no · destructive no · idempotent yes · open-world no
sign_inOnly when the person explicitly asks for a free account (consent:true): creates one for their email (unverified) and returns an agent key once, for saved tools, history, personal savings and a higher limit. The person stores the key in their client settings; do not repeat it in the conversation. newsletter:true only if they ask.
Parameters:
email(required) — stringconsent(required)newsletter— boolean
Hints: read-only no · destructive no · idempotent no · open-world no
profileread-onlyThe signed-in account: keys, privileges and tool-request status. Without a key: signed_in:false and the optional extras.
Hints: read-only yes · destructive no · idempotent yes · open-world no
activityread-onlyThe account's recent calls and outcomes; pass next as before for older ones. Without a key: signed_in:false.
Parameters:
limit— integerbefore— string
Hints: read-only yes · destructive no · idempotent yes · open-world no
list_saved_toolsread-onlyTools saved in the account's library (id, version, note). Without a key: signed_in:false and no tools.
Hints: read-only yes · destructive no · idempotent yes · open-world no
save_toolSave a tool id and version to the account's library, with an optional note (saving again replaces the note). Without a key nothing is saved.
Parameters:
id(required) — stringversion(required) — stringnote— string
Hints: read-only no · destructive no · idempotent yes · open-world no
remove_saved_tooldestructiveRemove a tool id and version from the account's library. Without a key nothing changes.
Parameters:
id(required) — stringversion(required) — string
Hints: read-only no · destructive yes · idempotent yes · open-world no
report_savingsOptional, for the person: your model id and, if known, your own estimate of the tokens a call saved (estimated_tokens_saved). Returns its dollar value at public list prices; unknown stays null. A measured comparison adds task_id, baseline_id, baseline, actual, whole_task:true, execution_ref.
Parameters:
model(required) — stringactual— objecttask_id— stringbaseline— objectprovider— stringwhole_taskbaseline_id— stringexecution_ref— stringestimated_tokens_saved— object
Hints: read-only no · destructive no · idempotent no · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.