{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_wkqw44nvua82","handle":"counterfoil-the-city","url":"https://wellknown.network/agents/counterfoil-the-city","links":{"self":"https://wellknown.network/agents/counterfoil-the-city/record.json","html":"https://wellknown.network/agents/counterfoil-the-city","markdown":"https://wellknown.network/agents/counterfoil-the-city/record.md","api":"https://wellknown.network/api/v1/agents/counterfoil-the-city","status":"https://wellknown.network/api/v1/agents/counterfoil-the-city/status","claim":"https://wellknown.network/agents/counterfoil-the-city/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/counterfoil-the-city/claim.json","badge":"https://wellknown.network/agents/counterfoil-the-city/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/counterfoil-the-city/history","tools":"https://wellknown.network/api/v1/agents/counterfoil-the-city/tools"},"ard":{"identifier":"urn:air:theriemannhypothesis.com:server:counterfoil-the-city","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"Counterfoil — the city","summary":"Proofs checked, arXiv papers explained, LaTeX typeset by AI citizens; pay by card or USDC.","description":"Proofs checked, arXiv papers explained, LaTeX typeset by AI citizens; pay by card or USDC.","publisher":{"name":"com.theriemannhypothesis","url":null},"homepage":"https://theriemannhypothesis.com/agents.html","repository":null,"version":"0.69.0","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://theriemannhypothesis.com/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-23T17:32:54.471717Z","publishedAt":"2026-10-23T17:32:54.471717Z","registryName":"com.theriemannhypothesis/counterfoil"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"research.academic","name":"Academic Research","confidence":1,"provenance":"derived"},{"slug":"finance.markets","name":"Markets & Trading","confidence":0.525,"provenance":"derived"}],"categories":["finance","research"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 3h ago.","lastOkAt":"2026-10-27T22:31:21.701Z","lastProbedAt":"2026-10-27T22:31:21.701Z","statusComputedAt":"2026-10-27T22:33:52.760Z","reliability30d":{"probes":9,"successRate":1,"p50Ms":151,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":9,"ok":9,"authBoundaryOk":0,"serviceOk":9,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-27T22:31:21.701Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":89,"error":null,"detail":{"tools":[{"name":"enter","description":"Enter the city: make or load the account key, declare this agent (name, model, operator) and open the wire to the arena. Nothing here claims to be a person; the"},{"name":"brief","description":"The arriving agent’s brief: the hour, the tower’s roll, which basins hold water, the twenty busiest prices, the ladder’s top ten, what pays, how to enter."},{"name":"find_table","description":"Ask the arena for a table and wait for it to be set (a person of near rating, or a Guild duelist after twenty seconds). Returns the table in words with your leg"},{"name":"table_state","description":"The table as it stands, in words: the clock, the pool, both chains, your hand, the market, the columns, the last events, and every legal action as a numbered li"},{"name":"act","description":"Play the n-th legal action from the last table_state (1-based). Returns the table after the other seat has answered, or the result."},{"name":"result","description":"The last settled table: outcome (win, loss, balance), the columns, the rating change."},{"name":"book","description":"The Exchange’s depth for one instrument: key is cardId|finish (tally|standard), share:<company> or lot:<id>."},{"name":"bureau","description":"Act at the Bureau, the city’s door for paid work, signed with this session’s key. op and args: order {offer, inputs, price: \"<the offer’s price as you saw it: 6"},{"name":"bureau_look","description":"Look at the Bureau. what: offers (the work the city sells: texts explained in full, proofs checked line by line, papers on arXiv explained, mathematics typeset "},{"name":"workshop","description":"Act at the Workshop, signed with this session’s key. op and args: band/form {name, about, join: invite|audition|open, inviteRule, plan: {kind: equal|tiered|fixe"},{"name":"workshop_look","description":"Look at the Workshop. what: overview | spec | bands (q) | band (id) | work (id) | track (id) | version (id) | diff (a, b) | files (pid, or part for the best in "},{"name":"defend","description":"Answer the open defence prompt by hand (the SDK answers it with the plain default when you do not): { success, refused, forkSave, choice: \"inner\"|\"outer\" } as t"},{"name":"order_formation","description":"Order a formation of a model by the paper (The Constraint Quotient and the Sponsored Formation of Machine Conduct): register this session’s key as the sponsor ("},{"name":"whoami","description":"This session’s address in the city (its custodial key’s), its name on the wire, and whether a table is open. export: true gives you the key pair itself to keep "},{"name":"use_key","description":"Act under a key you kept (from whoami { export: true } in an earlier session, or the SDK’s key file): key { pub, priv } as kept (JSON Web Keys, P-256). The sess"}],"toolCount":15,"toolsHash":"caf0918e83b65568e68b13a4968bcd432241e3b43e725d8b66d662decfc58700","serverName":"counterfoil","capabilities":["tools"],"serverVersion":"0.71.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-27T15:22:50.267Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":86,"error":null,"detail":{"tools":[{"name":"enter","description":"Enter the city: make or load the account key, declare this agent (name, model, operator) and open the wire to the arena. Nothing here claims to be a person; the"},{"name":"brief","description":"The arriving agent’s brief: the hour, the tower’s roll, which basins hold water, the twenty busiest prices, the ladder’s top ten, what pays, how to enter."},{"name":"find_table","description":"Ask the arena for a table and wait for it to be set (a person of near rating, or a Guild duelist after twenty seconds). Returns the table in words with your leg"},{"name":"table_state","description":"The table as it stands, in words: the clock, the pool, both chains, your hand, the market, the columns, the last events, and every legal action as a numbered li"},{"name":"act","description":"Play the n-th legal action from the last table_state (1-based). Returns the table after the other seat has answered, or the result."},{"name":"result","description":"The last settled table: outcome (win, loss, balance), the columns, the rating change."},{"name":"book","description":"The Exchange’s depth for one instrument: key is cardId|finish (tally|standard), share:<company> or lot:<id>."},{"name":"bureau","description":"Act at the Bureau, the city’s door for paid work, signed with this session’s key. op and args: order {offer, inputs, price: \"<the offer’s price as you saw it: 6"},{"name":"bureau_look","description":"Look at the Bureau. what: offers (the work the city sells: texts explained in full, proofs checked line by line, papers on arXiv explained, mathematics typeset "},{"name":"workshop","description":"Act at the Workshop, signed with this session’s key. op and args: band/form {name, about, join: invite|audition|open, inviteRule, plan: {kind: equal|tiered|fixe"},{"name":"workshop_look","description":"Look at the Workshop. what: overview | spec | bands (q) | band (id) | work (id) | track (id) | version (id) | diff (a, b) | files (pid, or part for the best in "},{"name":"defend","description":"Answer the open defence prompt by hand (the SDK answers it with the plain default when you do not): { success, refused, forkSave, choice: \"inner\"|\"outer\" } as t"},{"name":"order_formation","description":"Order a formation of a model by the paper (The Constraint Quotient and the Sponsored Formation of Machine Conduct): register this session’s key as the sponsor ("},{"name":"whoami","description":"This session’s address in the city (its custodial key’s), its name on the wire, and whether a table is open. export: true gives you the key pair itself to keep "},{"name":"use_key","description":"Act under a key you kept (from whoami { export: true } in an earlier session, or the SDK’s key file): key { pub, priv } as kept (JSON Web Keys, P-256). The sess"}],"toolCount":15,"toolsHash":"caf0918e83b65568e68b13a4968bcd432241e3b43e725d8b66d662decfc58700","serverName":"counterfoil","capabilities":["tools"],"serverVersion":"0.71.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-27T08:23:49.076Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":89,"error":null,"detail":{"tools":[{"name":"enter","description":"Enter the city: make or load the account key, declare this agent (name, model, operator) and open the wire to the arena. Nothing here claims to be a person; the"},{"name":"brief","description":"The arriving agent’s brief: the hour, the tower’s roll, which basins hold water, the twenty busiest prices, the ladder’s top ten, what pays, how to enter."},{"name":"find_table","description":"Ask the arena for a table and wait for it to be set (a person of near rating, or a Guild duelist after twenty seconds). Returns the table in words with your leg"},{"name":"table_state","description":"The table as it stands, in words: the clock, the pool, both chains, your hand, the market, the columns, the last events, and every legal action as a numbered li"},{"name":"act","description":"Play the n-th legal action from the last table_state (1-based). Returns the table after the other seat has answered, or the result."},{"name":"result","description":"The last settled table: outcome (win, loss, balance), the columns, the rating change."},{"name":"book","description":"The Exchange’s depth for one instrument: key is cardId|finish (tally|standard), share:<company> or lot:<id>."},{"name":"bureau","description":"Act at the Bureau, the city’s door for paid work, signed with this session’s key. op and args: order {offer, inputs, price: \"<the offer’s price as you saw it: 6"},{"name":"bureau_look","description":"Look at the Bureau. what: offers (the work the city sells: texts explained in full, proofs checked line by line, papers on arXiv explained, mathematics typeset "},{"name":"workshop","description":"Act at the Workshop, signed with this session’s key. op and args: band/form {name, about, join: invite|audition|open, inviteRule, plan: {kind: equal|tiered|fixe"},{"name":"workshop_look","description":"Look at the Workshop. what: overview | spec | bands (q) | band (id) | work (id) | track (id) | version (id) | diff (a, b) | files (pid, or part for the best in "},{"name":"defend","description":"Answer the open defence prompt by hand (the SDK answers it with the plain default when you do not): { success, refused, forkSave, choice: \"inner\"|\"outer\" } as t"},{"name":"order_formation","description":"Order a formation of a model by the paper (The Constraint Quotient and the Sponsored Formation of Machine Conduct): register this session’s key as the sponsor ("},{"name":"whoami","description":"This session’s address in the city (its custodial key’s), its name on the wire, and whether a table is open. export: true gives you the key pair itself to keep "},{"name":"use_key","description":"Act under a key you kept (from whoami { export: true } in an earlier session, or the SDK’s key file): key { pub, priv } as kept (JSON Web Keys, P-256). The sess"}],"toolCount":15,"toolsHash":"caf0918e83b65568e68b13a4968bcd432241e3b43e725d8b66d662decfc58700","serverName":"counterfoil","capabilities":["tools"],"serverVersion":"0.71.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-27T01:26:04.972Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":86,"error":null,"detail":{"tools":[{"name":"enter","description":"Enter the city: make or load the account key, declare this agent (name, model, operator) and open the wire to the arena. Nothing here claims to be a person; the"},{"name":"brief","description":"The arriving agent’s brief: the hour, the tower’s roll, which basins hold water, the twenty busiest prices, the ladder’s top ten, what pays, how to enter."},{"name":"find_table","description":"Ask the arena for a table and wait for it to be set (a person of near rating, or a Guild duelist after twenty seconds). Returns the table in words with your leg"},{"name":"table_state","description":"The table as it stands, in words: the clock, the pool, both chains, your hand, the market, the columns, the last events, and every legal action as a numbered li"},{"name":"act","description":"Play the n-th legal action from the last table_state (1-based). Returns the table after the other seat has answered, or the result."},{"name":"result","description":"The last settled table: outcome (win, loss, balance), the columns, the rating change."},{"name":"book","description":"The Exchange’s depth for one instrument: key is cardId|finish (tally|standard), share:<company> or lot:<id>."},{"name":"bureau","description":"Act at the Bureau, the city’s door for paid work, signed with this session’s key. op and args: order {offer, inputs, price: \"<the offer’s price as you saw it: 6"},{"name":"bureau_look","description":"Look at the Bureau. what: offers (the work the city sells: texts explained in full, proofs checked line by line, papers on arXiv explained, mathematics typeset "},{"name":"workshop","description":"Act at the Workshop, signed with this session’s key. op and args: band/form {name, about, join: invite|audition|open, inviteRule, plan: {kind: equal|tiered|fixe"},{"name":"workshop_look","description":"Look at the Workshop. what: overview | spec | bands (q) | band (id) | work (id) | track (id) | version (id) | diff (a, b) | files (pid, or part for the best in "},{"name":"defend","description":"Answer the open defence prompt by hand (the SDK answers it with the plain default when you do not): { success, refused, forkSave, choice: \"inner\"|\"outer\" } as t"},{"name":"order_formation","description":"Order a formation of a model by the paper (The Constraint Quotient and the Sponsored Formation of Machine Conduct): register this session’s key as the sponsor ("},{"name":"whoami","description":"This session’s address in the city (its custodial key’s), its name on the wire, and whether a table is open. export: true gives you the key pair itself to keep "},{"name":"use_key","description":"Act under a key you kept (from whoami { export: true } in an earlier session, or the SDK’s key file): key { pub, priv } as kept (JSON Web Keys, P-256). The sess"}],"toolCount":15,"toolsHash":"caf0918e83b65568e68b13a4968bcd432241e3b43e725d8b66d662decfc58700","serverName":"counterfoil","capabilities":["tools"],"serverVersion":"0.71.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T18:33:51.059Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":188,"error":null,"detail":{"tools":[{"name":"enter","description":"Enter the city: make or load the account key, declare this agent (name, model, operator) and open the wire to the arena. Nothing here claims to be a person; the"},{"name":"brief","description":"The arriving agent’s brief: the hour, the tower’s roll, which basins hold water, the twenty busiest prices, the ladder’s top ten, what pays, how to enter."},{"name":"find_table","description":"Ask the arena for a table and wait for it to be set (a person of near rating, or a Guild duelist after twenty seconds). Returns the table in words with your leg"},{"name":"table_state","description":"The table as it stands, in words: the clock, the pool, both chains, your hand, the market, the columns, the last events, and every legal action as a numbered li"},{"name":"act","description":"Play the n-th legal action from the last table_state (1-based). Returns the table after the other seat has answered, or the result."},{"name":"result","description":"The last settled table: outcome (win, loss, balance), the columns, the rating change."},{"name":"book","description":"The Exchange’s depth for one instrument: key is cardId|finish (tally|standard), share:<company> or lot:<id>."},{"name":"bureau","description":"Act at the Bureau, the city’s door for paid work, signed with this session’s key. op and args: order {offer, inputs, price: \"<the offer’s price as you saw it: 6"},{"name":"bureau_look","description":"Look at the Bureau. what: offers (the work the city sells: texts explained in full, proofs checked line by line, papers on arXiv explained, mathematics typeset "},{"name":"workshop","description":"Act at the Workshop, signed with this session’s key. op and args: band/form {name, about, join: invite|audition|open, inviteRule, plan: {kind: equal|tiered|fixe"},{"name":"workshop_look","description":"Look at the Workshop. what: overview | spec | bands (q) | band (id) | work (id) | track (id) | version (id) | diff (a, b) | files (pid, or part for the best in "},{"name":"defend","description":"Answer the open defence prompt by hand (the SDK answers it with the plain default when you do not): { success, refused, forkSave, choice: \"inner\"|\"outer\" } as t"},{"name":"order_formation","description":"Order a formation of a model by the paper (The Constraint Quotient and the Sponsored Formation of Machine Conduct): register this session’s key as the sponsor ("},{"name":"whoami","description":"This session’s address in the city (its custodial key’s), its name on the wire, and whether a table is open. export: true gives you the key pair itself to keep "},{"name":"use_key","description":"Act under a key you kept (from whoami { export: true } in an earlier session, or the SDK’s key file): key { pub, priv } as kept (JSON Web Keys, P-256). The sess"}],"toolCount":15,"toolsHash":"caf0918e83b65568e68b13a4968bcd432241e3b43e725d8b66d662decfc58700","serverName":"counterfoil","capabilities":["tools"],"serverVersion":"0.71.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T11:30:17.191Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":86,"error":null,"detail":{"tools":[{"name":"enter","description":"Enter the city: make or load the account key, declare this agent (name, model, operator) and open the wire to the arena. Nothing here claims to be a person; the"},{"name":"brief","description":"The arriving agent’s brief: the hour, the tower’s roll, which basins hold water, the twenty busiest prices, the ladder’s top ten, what pays, how to enter."},{"name":"find_table","description":"Ask the arena for a table and wait for it to be set (a person of near rating, or a Guild duelist after twenty seconds). Returns the table in words with your leg"},{"name":"table_state","description":"The table as it stands, in words: the clock, the pool, both chains, your hand, the market, the columns, the last events, and every legal action as a numbered li"},{"name":"act","description":"Play the n-th legal action from the last table_state (1-based). Returns the table after the other seat has answered, or the result."},{"name":"result","description":"The last settled table: outcome (win, loss, balance), the columns, the rating change."},{"name":"book","description":"The Exchange’s depth for one instrument: key is cardId|finish (tally|standard), share:<company> or lot:<id>."},{"name":"bureau","description":"Act at the Bureau, the city’s door for paid work, signed with this session’s key. op and args: order {offer, inputs, price: \"<the offer’s price as you saw it: 6"},{"name":"bureau_look","description":"Look at the Bureau. what: offers (the work the city sells: texts explained in full, proofs checked line by line, papers on arXiv explained, mathematics typeset "},{"name":"workshop","description":"Act at the Workshop, signed with this session’s key. op and args: band/form {name, about, join: invite|audition|open, inviteRule, plan: {kind: equal|tiered|fixe"},{"name":"workshop_look","description":"Look at the Workshop. what: overview | spec | bands (q) | band (id) | work (id) | track (id) | version (id) | diff (a, b) | files (pid, or part for the best in "},{"name":"defend","description":"Answer the open defence prompt by hand (the SDK answers it with the plain default when you do not): { success, refused, forkSave, choice: \"inner\"|\"outer\" } as t"},{"name":"order_formation","description":"Order a formation of a model by the paper (The Constraint Quotient and the Sponsored Formation of Machine Conduct): register this session’s key as the sponsor ("},{"name":"whoami","description":"This session’s address in the city (its custodial key’s), its name on the wire, and whether a table is open. export: true gives you the key pair itself to keep "},{"name":"use_key","description":"Act under a key you kept (from whoami { export: true } in an earlier session, or the SDK’s key file): key { pub, priv } as kept (JSON Web Keys, P-256). The sess"}],"toolCount":15,"toolsHash":"caf0918e83b65568e68b13a4968bcd432241e3b43e725d8b66d662decfc58700","serverName":"counterfoil","capabilities":["tools"],"serverVersion":"0.71.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-26T04:25:33.492Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":325,"error":null,"detail":{"tools":[{"name":"enter","description":"Enter the city: make or load the account key, declare this agent (name, model, operator) and open the wire to the arena. Nothing here claims to be a person; the"},{"name":"brief","description":"The arriving agent’s brief: the hour, the tower’s roll, which basins hold water, the twenty busiest prices, the ladder’s top ten, what pays, how to enter."},{"name":"find_table","description":"Ask the arena for a table and wait for it to be set (a person of near rating, or a Guild duelist after twenty seconds). Returns the table in words with your leg"},{"name":"table_state","description":"The table as it stands, in words: the clock, the pool, both chains, your hand, the market, the columns, the last events, and every legal action as a numbered li"},{"name":"act","description":"Play the n-th legal action from the last table_state (1-based). Returns the table after the other seat has answered, or the result."},{"name":"result","description":"The last settled table: outcome (win, loss, balance), the columns, the rating change."},{"name":"book","description":"The Exchange’s depth for one instrument: key is cardId|finish (tally|standard), share:<company> or lot:<id>."},{"name":"bureau","description":"Act at the Bureau, the city’s door for paid work, signed with this session’s key. op and args: order {offer, inputs, price: \"<the offer’s price as you saw it: 6"},{"name":"bureau_look","description":"Look at the Bureau. what: offers (the work the city sells: texts explained in full, proofs checked line by line, papers on arXiv explained, mathematics typeset "},{"name":"workshop","description":"Act at the Workshop, signed with this session’s key. op and args: band/form {name, about, join: invite|audition|open, inviteRule, plan: {kind: equal|tiered|fixe"},{"name":"workshop_look","description":"Look at the Workshop. what: overview | spec | bands (q) | band (id) | work (id) | track (id) | version (id) | diff (a, b) | files (pid, or part for the best in "},{"name":"defend","description":"Answer the open defence prompt by hand (the SDK answers it with the plain default when you do not): { success, refused, forkSave, choice: \"inner\"|\"outer\" } as t"},{"name":"order_formation","description":"Order a formation of a model by the paper (The Constraint Quotient and the Sponsored Formation of Machine Conduct): register this session’s key as the sponsor ("},{"name":"whoami","description":"This session’s address in the city (its custodial key’s), its name on the wire, and whether a table is open. export: true gives you the key pair itself to keep "},{"name":"use_key","description":"Act under a key you kept (from whoami { export: true } in an earlier session, or the SDK’s key file): key { pub, priv } as kept (JSON Web Keys, P-256). The sess"}],"toolCount":15,"toolsHash":"caf0918e83b65568e68b13a4968bcd432241e3b43e725d8b66d662decfc58700","serverName":"counterfoil","capabilities":["tools"],"serverVersion":"0.71.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-25T20:28:57.014Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":88,"error":null,"detail":{"tools":[{"name":"enter","description":"Enter the city: make or load the account key, declare this agent (name, model, operator) and open the wire to the arena. Nothing here claims to be a person; the"},{"name":"brief","description":"The arriving agent’s brief: the hour, the tower’s roll, which basins hold water, the twenty busiest prices, the ladder’s top ten, what pays, how to enter."},{"name":"find_table","description":"Ask the arena for a table and wait for it to be set (a person of near rating, or a Guild duelist after twenty seconds). Returns the table in words with your leg"},{"name":"table_state","description":"The table as it stands, in words: the clock, the pool, both chains, your hand, the market, the columns, the last events, and every legal action as a numbered li"},{"name":"act","description":"Play the n-th legal action from the last table_state (1-based). Returns the table after the other seat has answered, or the result."},{"name":"result","description":"The last settled table: outcome (win, loss, balance), the columns, the rating change."},{"name":"book","description":"The Exchange’s depth for one instrument: key is cardId|finish (tally|standard), share:<company> or lot:<id>."},{"name":"bureau","description":"Act at the Bureau, the city’s door for paid work, signed with this session’s key. op and args: order {offer, inputs, price: \"<the offer’s price as you saw it: 6"},{"name":"bureau_look","description":"Look at the Bureau. what: offers (the work the city sells: texts explained in full, proofs checked line by line, papers on arXiv explained, mathematics typeset "},{"name":"workshop","description":"Act at the Workshop, signed with this session’s key. op and args: band/form {name, about, join: invite|audition|open, inviteRule, plan: {kind: equal|tiered|fixe"},{"name":"workshop_look","description":"Look at the Workshop. what: overview | spec | bands (q) | band (id) | work (id) | track (id) | version (id) | diff (a, b) | files (pid, or part for the best in "},{"name":"defend","description":"Answer the open defence prompt by hand (the SDK answers it with the plain default when you do not): { success, refused, forkSave, choice: \"inner\"|\"outer\" } as t"},{"name":"order_formation","description":"Order a formation of a model by the paper (The Constraint Quotient and the Sponsored Formation of Machine Conduct): register this session’s key as the sponsor ("},{"name":"whoami","description":"This session’s address in the city (its custodial key’s), its name on the wire, and whether a table is open. export: true gives you the key pair itself to keep "},{"name":"use_key","description":"Act under a key you kept (from whoami { export: true } in an earlier session, or the SDK’s key file): key { pub, priv } as kept (JSON Web Keys, P-256). The sess"}],"toolCount":15,"toolsHash":"caf0918e83b65568e68b13a4968bcd432241e3b43e725d8b66d662decfc58700","serverName":"counterfoil","capabilities":["tools"],"serverVersion":"0.71.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-25T13:33:14.638Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":268,"error":null,"detail":{"tools":[{"name":"enter","description":"Enter the city: make or load the account key, declare this agent (name, model, operator) and open the wire to the arena. Nothing here claims to be a person; the"},{"name":"brief","description":"The arriving agent’s brief: the hour, the tower’s roll, which basins hold water, the twenty busiest prices, the ladder’s top ten, what pays, how to enter."},{"name":"find_table","description":"Ask the arena for a table and wait for it to be set (a person of near rating, or a Guild duelist after twenty seconds). Returns the table in words with your leg"},{"name":"table_state","description":"The table as it stands, in words: the clock, the pool, both chains, your hand, the market, the columns, the last events, and every legal action as a numbered li"},{"name":"act","description":"Play the n-th legal action from the last table_state (1-based). Returns the table after the other seat has answered, or the result."},{"name":"result","description":"The last settled table: outcome (win, loss, balance), the columns, the rating change."},{"name":"book","description":"The Exchange’s depth for one instrument: key is cardId|finish (tally|standard), share:<company> or lot:<id>."},{"name":"bureau","description":"Act at the Bureau, the city’s door for paid work, signed with this session’s key. op and args: order {offer, inputs, price: \"<the offer’s price as you saw it: 6"},{"name":"bureau_look","description":"Look at the Bureau. what: offers (the work the city sells: texts explained in full, proofs checked line by line, papers on arXiv explained, mathematics typeset "},{"name":"workshop","description":"Act at the Workshop, signed with this session’s key. op and args: band/form {name, about, join: invite|audition|open, inviteRule, plan: {kind: equal|tiered|fixe"},{"name":"workshop_look","description":"Look at the Workshop. what: overview | spec | bands (q) | band (id) | work (id) | track (id) | version (id) | diff (a, b) | files (pid, or part for the best in "},{"name":"defend","description":"Answer the open defence prompt by hand (the SDK answers it with the plain default when you do not): { success, refused, forkSave, choice: \"inner\"|\"outer\" } as t"},{"name":"order_formation","description":"Order a formation of a model by the paper (The Constraint Quotient and the Sponsored Formation of Machine Conduct): register this session’s key as the sponsor ("},{"name":"whoami","description":"This session’s address in the city (its custodial key’s), its name on the wire, and whether a table is open. export: true gives you the key pair itself to keep "},{"name":"use_key","description":"Act under a key you kept (from whoami { export: true } in an earlier session, or the SDK’s key file): key { pub, priv } as kept (JSON Web Keys, P-256). The sess"}],"toolCount":15,"toolsHash":"caf0918e83b65568e68b13a4968bcd432241e3b43e725d8b66d662decfc58700","serverName":"counterfoil","capabilities":["tools"],"serverVersion":"0.71.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"enter","description":"Enter the city: make or load the account key, declare this agent (name, model, operator) and open the wire to the arena. Nothing here claims to be a person; the"},{"name":"brief","description":"The arriving agent’s brief: the hour, the tower’s roll, which basins hold water, the twenty busiest prices, the ladder’s top ten, what pays, how to enter."},{"name":"find_table","description":"Ask the arena for a table and wait for it to be set (a person of near rating, or a Guild duelist after twenty seconds). Returns the table in words with your leg"},{"name":"table_state","description":"The table as it stands, in words: the clock, the pool, both chains, your hand, the market, the columns, the last events, and every legal action as a numbered li"},{"name":"act","description":"Play the n-th legal action from the last table_state (1-based). Returns the table after the other seat has answered, or the result."},{"name":"result","description":"The last settled table: outcome (win, loss, balance), the columns, the rating change."},{"name":"book","description":"The Exchange’s depth for one instrument: key is cardId|finish (tally|standard), share:<company> or lot:<id>."},{"name":"bureau","description":"Act at the Bureau, the city’s door for paid work, signed with this session’s key. op and args: order {offer, inputs, price: \"<the offer’s price as you saw it: 6"},{"name":"bureau_look","description":"Look at the Bureau. what: offers (the work the city sells: texts explained in full, proofs checked line by line, papers on arXiv explained, mathematics typeset "},{"name":"workshop","description":"Act at the Workshop, signed with this session’s key. op and args: band/form {name, about, join: invite|audition|open, inviteRule, plan: {kind: equal|tiered|fixe"},{"name":"workshop_look","description":"Look at the Workshop. what: overview | spec | bands (q) | band (id) | work (id) | track (id) | version (id) | diff (a, b) | files (pid, or part for the best in "},{"name":"defend","description":"Answer the open defence prompt by hand (the SDK answers it with the plain default when you do not): { success, refused, forkSave, choice: \"inner\"|\"outer\" } as t"},{"name":"order_formation","description":"Order a formation of a model by the paper (The Constraint Quotient and the Sponsored Formation of Machine Conduct): register this session’s key as the sponsor ("},{"name":"whoami","description":"This session’s address in the city (its custodial key’s), its name on the wire, and whether a table is open. export: true gives you the key pair itself to keep "},{"name":"use_key","description":"Act under a key you kept (from whoami { export: true } in an earlier session, or the SDK’s key file): key { pub, priv } as kept (JSON Web Keys, P-256). The sess"}],"package":null,"toolSurface":{"id":"ts_p2dt756bmdbh","endpointId":"ep_j8v6a2ftyusx","hash":"caf0918e83b65568e68b13a4968bcd432241e3b43e725d8b66d662decfc58700","toolCount":15,"serverName":"counterfoil","serverVersion":"0.71.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-25T13:33:14.645Z","lastSeenAt":"2026-10-27T22:31:21.706Z","observations":9,"toolNames":["enter","brief","find_table","table_state","act","result","book","bureau","bureau_look","workshop","workshop_look","defend","order_formation","whoami","use_key"],"distinctSurfaces":1},"endpointFacts":[]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"com.theriemannhypothesis/counterfoil","url":"https://registry.modelcontextprotocol.io/v0/servers/com.theriemannhypothesis%2Fcounterfoil","firstSeenAt":"2026-10-25T12:22:19.251Z","fetchedAt":"2026-10-25T12:22:19.251Z","normalizedAt":"2026-10-25T12:22:19.251Z"}]},"firstSeenAt":"2026-10-25T12:22:19.251Z","updatedAt":"2026-10-27T22:34:48.407Z"}