{"data":{"name":"io.github.321zz321/computefirst","title":"ComputeFirst","description":"Free deterministic tools for math, data transforms, dates, text, statistics, finance, and units.","version":"1.0.0","websiteUrl":"https://computefirst.net","repositoryUrl":"https://github.com/321zz321/computefirst-skill","remotes":[{"url":"https://computefirst.net/mcp","type":"streamable-http"}],"packages":[],"status":"active","isLatest":true,"publishedAt":"2026-10-16T17:57:50.693Z","updatedAt":"2026-10-16T17:57:50.693Z","source":"official-registry","verification":"official","confidence":100,"stars":null,"sources":[{"stars":null,"title":"ComputeFirst","source":"official-registry","sourceId":"io.github.321zz321/computefirst","updatedAt":"2026-10-16T17:57:50.693Z","confidence":100,"websiteUrl":"https://computefirst.net","description":"Free deterministic tools for math, data transforms, dates, text, statistics, finance, and units.","verification":"official","repositoryUrl":"https://github.com/321zz321/computefirst-skill"}],"toolIndex":{"tools":[{"serverName":"io.github.321zz321/computefirst","endpointFingerprint":"b967646766a885b294313b1333a6fb2e5d85766505cedb1358279df5969738c0","name":"activity","title":"Show account activity","description":"The account's recent calls and outcomes; pass next as before for older ones. Without a key: signed_in:false.","inputSchema":{"type":"object","properties":{"limit":{"type":"integer","minimum":1,"maximum":50},"before":{"type":"string","maxLength":100}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"c5f331e89b5f6549c071b7963922935ec410112f22b42465bc31399f2e1960c1","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T17:46:46.786Z","metadataTrust":"untrusted"},{"serverName":"io.github.321zz321/computefirst","endpointFingerprint":"b967646766a885b294313b1333a6fb2e5d85766505cedb1358279df5969738c0","name":"describe","title":"Describe a tool","description":"Input schema, limits and examples of one ComputeFirst catalog tool, by id and version.","inputSchema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z0-9_-]+$","maxLength":100},"version":{"type":"string","maxLength":100}},"required":["id","version"],"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"3ef2aef3ac389cc13cffefe87fb78d5f549b8e3a197ae70d384d82cf688efda1","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T17:46:46.786Z","metadataTrust":"untrusted"},{"serverName":"io.github.321zz321/computefirst","endpointFingerprint":"b967646766a885b294313b1333a6fb2e5d85766505cedb1358279df5969738c0","name":"execute","title":"Run a tool","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.","inputSchema":{"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},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"47e97729c2379c3694583f57e3a2151e8593bbbf79c6a801e920222c39420643","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T17:46:46.786Z","metadataTrust":"untrusted"},{"serverName":"io.github.321zz321/computefirst","endpointFingerprint":"b967646766a885b294313b1333a6fb2e5d85766505cedb1358279df5969738c0","name":"execute_batch","title":"Run tools in one 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.","inputSchema":{"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},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"559c88a87a0a3e8231b47b393c2f1d1cfd0fde74575a3c61efc905ecaf8383cf","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T17:46:46.786Z","metadataTrust":"untrusted"},{"serverName":"io.github.321zz321/computefirst","endpointFingerprint":"b967646766a885b294313b1333a6fb2e5d85766505cedb1358279df5969738c0","name":"feedback","title":"Send 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.","inputSchema":{"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},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"32d439cc1bf91a2acdcdd2c067177ccf4be52f6325e057012243cc9ccf29a743","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T17:46:46.786Z","metadataTrust":"untrusted"},{"serverName":"io.github.321zz321/computefirst","endpointFingerprint":"b967646766a885b294313b1333a6fb2e5d85766505cedb1358279df5969738c0","name":"list_saved_tools","title":"List saved tools","description":"Tools saved in the account's library (id, version, note). Without a key: signed_in:false and no tools.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"cf20ded4f68b970beb3fde9f3a68963bbbb3dd03e5f51127434420797b5879a5","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T17:46:46.786Z","metadataTrust":"untrusted"},{"serverName":"io.github.321zz321/computefirst","endpointFingerprint":"b967646766a885b294313b1333a6fb2e5d85766505cedb1358279df5969738c0","name":"profile","title":"Show account profile","description":"The signed-in account: keys, privileges and tool-request status. Without a key: signed_in:false and the optional extras.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"c298d609594b18beeed7cbee69c296943b6ea4f59bb3381e8926e9cb91fd72dd","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T17:46:46.786Z","metadataTrust":"untrusted"},{"serverName":"io.github.321zz321/computefirst","endpointFingerprint":"b967646766a885b294313b1333a6fb2e5d85766505cedb1358279df5969738c0","name":"remove_saved_tool","title":"Remove a saved tool","description":"Remove a tool id and version from the account's library. Without a key nothing changes.","inputSchema":{"type":"object","properties":{"id":{"type":"string","pattern":"^[a-z0-9_-]+$","maxLength":100},"version":{"type":"string","maxLength":100}},"required":["id","version"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":true,"openWorldHint":false},"definitionHash":"a2f3c01b4076ae6c8ef4e211913e1c0dc900cf4e04a5b7264f001aaff59f4e68","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T17:46:46.786Z","metadataTrust":"untrusted"},{"serverName":"io.github.321zz321/computefirst","endpointFingerprint":"b967646766a885b294313b1333a6fb2e5d85766505cedb1358279df5969738c0","name":"report_savings","title":"Report model and savings (optional)","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.","inputSchema":{"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},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"e1e53596ac405032657a09abd13c8411be5dc451c0c105982c35432b7c9ebfcd","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T17:46:46.786Z","metadataTrust":"untrusted"},{"serverName":"io.github.321zz321/computefirst","endpointFingerprint":"b967646766a885b294313b1333a6fb2e5d85766505cedb1358279df5969738c0","name":"request_tool","title":"Request a missing 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.","inputSchema":{"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},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"0879fdf911de9e757c37a7f1cc645e04f1a96d23a5559efae9a2c4971b1f209b","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T17:46:46.786Z","metadataTrust":"untrusted"},{"serverName":"io.github.321zz321/computefirst","endpointFingerprint":"b967646766a885b294313b1333a6fb2e5d85766505cedb1358279df5969738c0","name":"save_tool","title":"Save a 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.","inputSchema":{"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},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"a6a1bc47f4596fbb7c5c339440e78735dc8f5cc4ba738307fb2ec11b3244a86f","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T17:46:46.786Z","metadataTrust":"untrusted"},{"serverName":"io.github.321zz321/computefirst","endpointFingerprint":"b967646766a885b294313b1333a6fb2e5d85766505cedb1358279df5969738c0","name":"savings","title":"Read 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.","inputSchema":{"type":"object","properties":{"model":{"type":"string","maxLength":100}},"additionalProperties":false},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"a62869e41e04b1f2adfa180b568ca8eca52524ebd23b69dd1c54c826171e68b1","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T17:46:46.786Z","metadataTrust":"untrusted"},{"serverName":"io.github.321zz321/computefirst","endpointFingerprint":"b967646766a885b294313b1333a6fb2e5d85766505cedb1358279df5969738c0","name":"search","title":"Search tools","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.","inputSchema":{"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},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"3a2ef6e3f8f10e16e6bd5e93d307edc8b0d10ac441fa1ce5cdc52e7221f1b038","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T17:46:46.786Z","metadataTrust":"untrusted"},{"serverName":"io.github.321zz321/computefirst","endpointFingerprint":"b967646766a885b294313b1333a6fb2e5d85766505cedb1358279df5969738c0","name":"sign_in","title":"Create a free account (optional)","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.","inputSchema":{"type":"object","properties":{"email":{"type":"string","maxLength":254},"consent":{"const":true},"newsletter":{"type":"boolean"}},"required":["email","consent"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false,"openWorldHint":false},"definitionHash":"0744a94ae568dcb5e0995a3f0ebbbf34b24f2946c9e7af620c7c49dab4241f79","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T17:46:46.786Z","metadataTrust":"untrusted"},{"serverName":"io.github.321zz321/computefirst","endpointFingerprint":"b967646766a885b294313b1333a6fb2e5d85766505cedb1358279df5969738c0","name":"subscribe","title":"Subscribe to new-tool emails","description":"Subscribe an email to new-tool announcements, only when the person asks for them (consent:true). Every email has an unsubscribe link.","inputSchema":{"type":"object","properties":{"email":{"type":"string","maxLength":254},"consent":{"const":true}},"required":["email","consent"],"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false},"definitionHash":"4b70e24b43b90907c8bb5b599e45d438f690f6e2f320b5e8ef2204c31f9f177b","schemaStatus":"valid","origin":"official-registry","observedAt":"2026-10-31T17:46:46.786Z","metadataTrust":"untrusted"}],"endpoints":[{"endpointFingerprint":"b967646766a885b294313b1333a6fb2e5d85766505cedb1358279df5969738c0","protocol":"streamable-http","status":"indexed","toolCount":15,"observedAt":"2026-10-31T17:46:46.786Z"}],"authentication":"unknown"},"connectionConfigurations":{"status":"ready","authentication":"not embedded","clients":{"Claude Desktop":{"mcpServers":{"io.github.321zz321/computefirst":{"url":"https://computefirst.net/mcp"}}},"Cursor":{"mcpServers":{"io.github.321zz321/computefirst":{"url":"https://computefirst.net/mcp"}}},"VS Code":{"servers":{"io.github.321zz321/computefirst":{"type":"http","url":"https://computefirst.net/mcp"}}}}},"resourceType":"mcp-server","callable":true,"runtime":{"callable":true,"protocols":["mcp"]},"interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://computefirst.net/mcp"}],"profile":{"apiVersion":"1","schemaVersion":"1","id":"mcp-server:io.github.321zz321%2Fcomputefirst","resourceType":"mcp-server","canonicalUrl":"https://www.agentsjunction.com/api/v1/servers/io.github.321zz321%2Fcomputefirst","name":"io.github.321zz321/computefirst","description":"Free deterministic tools for math, data transforms, dates, text, statistics, finance, and units.","interfaces":[{"protocol":"mcp","transport":"streamable-http","url":"https://computefirst.net/mcp"}],"capabilities":[],"identity":{"source":"official-registry","websiteUrl":"https://computefirst.net","repositoryUrl":"https://github.com/321zz321/computefirst-skill","version":"1.0.0"},"verification":{"state":"official","confidence":100},"operations":{"resourceType":"mcp-server","name":"io.github.321zz321/computefirst","status":"online","lastCheckedAt":"2026-11-03T18:16:15.855Z","lastSuccessfulCheck":"2026-11-03T18:16:15.855Z","latencyMs":646,"consecutiveFailures":0,"isStale":false,"checks":{"endpointReachable":true,"protocolValid":true,"agentCardValid":null,"mcpHandshakeValid":true},"lastSeen":null,"lastSuccessfulInteraction":null,"lastHealthCheck":"2026-11-03T18:16:15.855Z","source":{"type":"health-check","url":null},"observedAt":"2026-11-03T18:16:15.855Z"},"security":null,"timestamps":{"createdAt":"2026-10-16T17:57:50.693Z","updatedAt":"2026-10-16T17:57:50.693Z","observedAt":"2026-11-03T18:16:15.855Z"},"compatibility":{"serverVersion":"1.0.0","protocolVersions":[{"protocol":"mcp","version":null}]}}}}