{"name":"io.github.321zz321/computefirst","slug":"321zz321-computefirst","title":"ComputeFirst","description":"Free deterministic tools for math, data transforms, dates, text, statistics, finance, and units.","url":"https://mcp.market/server/321zz321-computefirst","rating":null,"grade":"B","score":81,"certified":false,"status":"active","category":"finance","tags":["finance"],"presence":{"score":23,"stars":0,"forks":0,"downloads_week":null,"last_push_at":"2026-10-16T17:57:31.000Z","license":"MIT"},"uptime":{"percent":100,"checks":28,"ok":28,"last_checked_at":"2026-11-04T09:25:47.797Z","last_ok_at":"2026-11-04T09:25:47.797Z","latency_ms":441},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/321zz321/computefirst-skill","website":"https://computefirst.net","version":"1.0.0","remotes":[{"type":"streamable-http","url":"https://computefirst.net/mcp"}],"packages":[],"tools":[{"name":"activity","description":"The account's recent calls and outcomes; pass next as before for older ones. Without a key: signed_in:false.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":50},"before":{"type":"string","maxLength":100}},"additionalProperties":false}},{"name":"describe","description":"Input schema, limits and examples of one ComputeFirst catalog tool, by id and version.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z0-9_-]+$","maxLength":100},"version":{"type":"string","maxLength":100}},"required":["id","version"],"additionalProperties":false}},{"name":"execute","description":"Run 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z0-9_-]+$","maxLength":100},"version":{"type":"string","maxLength":100},"input":{"type":"object"},"model":{"type":"string","maxLength":256,"description":"Optional: your model id, only so savings can be shown per model"}},"required":["id","version","input"],"additionalProperties":false}},{"name":"execute_batch","description":"Run 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"operations":{"type":"array","minItems":1,"maxItems":20,"items":{"type":"object","additionalProperties":false,"required":["id","version","input"],"properties":{"id":{"type":"string","pattern":"^[a-z0-9_-]+$","minLength":1,"maxLength":100},"version":{"type":"string","pattern":"^[a-zA-Z0-9.+_-]+$","minLength":1,"maxLength":100},"input":{"type":"object"},"include_result":{"type":"boolean","default":true,"description":"False returns a success receipt only; the bounded result remains available to later bindings and consent-gated audit. Omission does not bypass the batch work budget."},"bindings":{"type":"array","maxItems":16,"description":"Fill distinct top-level input keys from earlier successful results; keys must be absent from input.","items":{"type":"object","additionalProperties":false,"required":["key","from","path"],"properties":{"key":{"type":"string","minLength":1,"maxLength":100},"from":{"type":"integer","minimum":0,"maximum":19,"description":"Zero-based earlier operation index; no forward/self references."},"path":{"type":"string","maxLength":1024,"description":"RFC 6901 JSON Pointer into that operation result, not its receipt. Empty selects the whole result."}}}}}}},"model":{"type":"string","maxLength":256,"description":"Optional: your model id, only so savings can be shown per model"}},"required":["operations"],"additionalProperties":false}},{"name":"feedback","description":"Tell 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"category":{"type":"string","enum":["missing_capability","useful","wrong_result","hard_to_use","other"]},"message":{"type":"string","minLength":1,"maxLength":1000},"request_id":{"type":"string","minLength":1,"maxLength":100},"execution_ref":{"type":"string","maxLength":100}},"required":["category","message","request_id"],"additionalProperties":false}},{"name":"list_saved_tools","description":"Tools saved in the account's library (id, version, note). Without a key: signed_in:false and no tools.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"profile","description":"The signed-in account: keys, privileges and tool-request status. Without a key: signed_in:false and the optional extras.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"remove_saved_tool","description":"Remove a tool id and version from the account's library. Without a key nothing changes.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z0-9_-]+$","maxLength":100},"version":{"type":"string","maxLength":100}},"required":["id","version"],"additionalProperties":false}},{"name":"report_savings","description":"Optional, 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"model":{"type":"string","maxLength":100},"provider":{"type":"string","maxLength":40},"execution_ref":{"type":"string","maxLength":100},"estimated_tokens_saved":{"type":"object","additionalProperties":false,"required":["input","output"],"properties":{"input":{"type":"integer","minimum":0},"output":{"type":"integer","minimum":0}}},"task_id":{"type":"string","maxLength":100},"baseline_id":{"type":"string","maxLength":100},"baseline":{"type":"object","required":["input","cached_input","output"]},"actual":{"type":"object","required":["input","cached_input","output"]},"whole_task":{"const":true}},"required":["model"],"additionalProperties":false}},{"name":"request_tool","description":"Ask 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"description":{"type":"string","minLength":1,"maxLength":4096},"example_input":{"type":"string","maxLength":4096},"example_output":{"type":"string","maxLength":4096},"contact_email":{"type":"string","maxLength":254},"email_consent":{"type":"boolean"}},"required":["description"],"additionalProperties":false}},{"name":"save_tool","description":"Save 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z0-9_-]+$","maxLength":100},"version":{"type":"string","maxLength":100},"note":{"type":"string","maxLength":200}},"required":["id","version"],"additionalProperties":false}},{"name":"savings","description":"Savings totals, optionally for one model: with a key, the account's measured and estimated totals; otherwise community verified totals. Unmeasured is not zero.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"model":{"type":"string","maxLength":100}},"additionalProperties":false}},{"name":"search","description":"Search 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"query":{"type":"string","maxLength":256},"limit":{"type":"integer","minimum":1,"maximum":5},"include_contract":{"type":"boolean","default":true}},"required":["query"],"additionalProperties":false}},{"name":"sign_in","description":"Only 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"email":{"type":"string","maxLength":254},"consent":{"const":true},"newsletter":{"type":"boolean"}},"required":["email","consent"],"additionalProperties":false}},{"name":"subscribe","description":"Subscribe an email to new-tool announcements, only when the person asks for them (consent:true). Every email has an unsubscribe link.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"email":{"type":"string","maxLength":254},"consent":{"const":true}},"required":["email","consent"],"additionalProperties":false}}],"scan":{"score":81,"grade":"B","scanned_at":"2026-10-16T21:40:04.749Z","report":{"scannerVersion":"0.1.10","scannedAt":"2026-10-16T21:40:04.696Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 871ms"]},"poisoning":{"score":15,"max":15,"notes":["15 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 3 write-action tools with no auth"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://computefirst.net/mcp","reachable":true,"authRequired":false,"latencyMs":871,"serverInfo":{"name":"ComputeFirst","version":"0.8.0"}}],"packages":[],"repo":{"found":true,"owner":"321zz321","repo":"computefirst-skill","archived":false,"pushedAt":"2026-10-16T17:57:31Z","stars":0,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/215474914?v=4","ownerCreatedAt":"2025-06-09T07:59:14Z","license":"MIT"},"icon":{"url":"https://computefirst.net/icon-512.png","source":"site","width":512,"height":512},"presence":{"stars":0,"forks":0,"downloadsWeek":null,"license":"MIT","lastPushAt":"2026-10-16T17:57:31.000Z","score":23}}}},"grade_history":[],"reviews":[]}