{"server":"com.programscape/programscape","count":12,"tools":[{"name":"build_route","title":"Build a founder’s route","description":"Returns the review Programscape would show a founder, from what they have said about their company (stage, funding, the tools they use, company type and answers to earlier questions): a short read of what matters at their stage, the programs worth their time now with each one’s standing and the questions that settle it, and what can wait and why. For questions about which startup credits, programs or perks fit a company. A standing is never a statement that the founder qualifies, and a standing of “Ask {provider}” means that provider decides on request and publishes no criteria, so the founder’s step is to ask it; each amount is that program’s own figure, never a total; no provider is ranked the winner. The result says how the review can be saved.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["answers"],"properties":{"answers":{"type":"object","description":"The founder’s answers, keyed by question field: the shared questions’ fields or a question a review returned (e.g. \"stage\": \"seed\", \"funding\": [\"venture\"], \"currentProviders\": [\"aws\", \"openai\"], \"companyTypes\": [\"ai\"]). A fact the founder hasn’t given is left out and stays unknown.","propertyNames":{"type":"string","maxLength":80},"additionalProperties":{"anyOf":[{"type":"string","maxLength":200},{"type":"number"},{"type":"array","items":{"type":"string","maxLength":80},"maxItems":30}]}}},"additionalProperties":false},"output_schema":null,"annotations":{"title":"Build a founder’s route","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T11:12:02.092Z"},{"name":"compare_programs","title":"Compare programs across providers","description":"Returns families of programs that serve the same goal across providers, side by side, with no winner and no score.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"goal":{"enum":["build","save","get_help","migrate","sell","marketing","fundraising","accelerators","community"],"type":"string","description":"Limit to programs serving one goal, e.g. \"build\" or \"save\". Leave empty for every goal."},"stage":{"enum":["idea","bootstrapped","pre_seed","seed","series_a","series_b_plus","growth"],"type":"string","description":"Limit to programs for one stage, e.g. \"seed\". Leave empty for every stage."}},"additionalProperties":false},"output_schema":null,"annotations":{"title":"Compare programs across providers","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T11:12:02.092Z"},{"name":"get_program","title":"Read one program","description":"Returns one program’s reviewed record: what it offers, the agent-tool capabilities its product offers where reviewed, who decides, exclusions, official sources and the date checked.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["id"],"properties":{"id":{"type":"string","maxLength":120,"minLength":1,"description":"A program id as it appears in program records (e.g. \"aws.activate-credits\"), or its page slug (e.g. \"aws-activate-credits\")."}},"additionalProperties":false},"output_schema":null,"annotations":{"title":"Read one program","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T11:12:02.092Z"},{"name":"my_plan","title":"Read the founder’s saved plan","description":"Returns the founder’s saved Programscape plan: their answers, the programs they kept or set aside (a kept program says whether the founder marked it approved; an approved one carries the expiration date and award the founder entered, and its last reported balance and reminder number, when it has them), and their review as it stands today on those answers. For a returning founder asking where things stand or what to do next.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"planId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Which saved plan, if the founder has more than one. Leave out for their most recent."}},"additionalProperties":false},"output_schema":null,"annotations":{"title":"Read the founder’s saved plan","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T11:12:02.092Z"},{"name":"partner_perks_admin","title":"Your partner perks list (for its admins)","description":"For the admin of a venture firm’s or studio’s perks list on Programscape (for example PSL’s): what needs a look (deals due to re-confirm, linked programs that changed or closed, imported deals not yet checked), how each perk stands, how many founders joined through each invite link (counts under 3 are withheld), and when the partner’s own system last read its feed. Reads only; changes are made on the admin page.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{},"additionalProperties":false},"output_schema":null,"annotations":{"title":"Your partner perks list (for its admins)","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T11:12:02.092Z"},{"name":"portfolio_perks","title":"The founder’s portfolio perks","description":"If the founder joined a venture firm’s or studio’s perks on Programscape (for example PSL’s), returns that portfolio’s negotiated deals in the partner’s own words, labelled as the partner’s terms, and the public programs the partner points them to, with their live records.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{},"additionalProperties":false},"output_schema":null,"annotations":{"title":"The founder’s portfolio perks","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T11:12:02.092Z"},{"name":"profile_questions","title":"Questions that shape the route","description":"Returns the shared questions, with their answer options, that shape a founder’s review. A fact the founder hasn’t given stays unknown.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{},"additionalProperties":false},"output_schema":null,"annotations":{"title":"Questions that shape the route","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T11:12:02.092Z"},{"name":"report_balance","title":"Report a credit balance","description":"Records the balance a provider shows for one program the founder keeps on their Programscape plan and has marked approved: the amount left, in the unit the provider reports it (US dollars, credits or requests), when it was read, and whether the founder’s own router or their assistant reported it. Optionally sets the number under which the founder wants an email reminder, in the same unit. Returns the balance as stored on the plan, with when it was read and who reported it. It is a report, never an estimate or a total, and it is never added to other programs or set against the amount awarded. Changes nothing else on the plan.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["programId","amount","unit"],"properties":{"asOf":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"When the balance was read from the provider, as an ISO 8601 date and time. Leave out to mean now."},"unit":{"enum":["usd","credits","requests"],"type":"string","description":"The unit the provider reports the balance in: usd, credits or requests."},"amount":{"type":"number","description":"What the provider shows as left, in `unit`, exactly as reported: dollars to the cent, or a whole number of credits or requests. Never an estimate, a conversion or a sum."},"planId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Which saved plan, if the founder has more than one. Leave out for their most recent."},"source":{"enum":["router","assistant"],"type":"string","description":"Who is reporting: \"router\" for the founder’s own credit router, \"assistant\" for an AI assistant the founder asked. Defaults to \"assistant\". Only a connection made from a program on the founder’s own computer (a loopback sign-in, as the router’s) can report as \"router\"; any other reports as \"assistant\"."},"estimate":{"type":"object","required":["daysLeft"],"properties":{"daysLeft":{"type":"integer","maximum":3650,"minimum":0,"description":"Whole days this balance lasts at the recent pace, as the router worked it out from its own readings."},"workedOutAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$","description":"When the router worked it out, as an ISO 8601 date and time. Leave out to mean now."}},"description":"Router only (0151): how long this balance lasts at the recent pace. Shown on the plan labelled as an estimate, with when it was worked out. It never sets an expiration date or a date reminder. Leave out when there is no pace yet.","additionalProperties":false},"programId":{"type":"string","maxLength":160,"description":"The id of a program the founder keeps on their plan and has marked approved, for example \"firecrawl.startup-deal\"."},"lowBalanceAt":{"type":"object","required":["amount","unit"],"properties":{"unit":{"enum":["usd","credits","requests"],"type":"string","description":"The same unit as the balance."},"amount":{"type":"number","description":"The number under which the founder wants a reminder."}},"description":"Optional: the number under which the founder asked to be reminded, in the balance’s unit. Replaces the reminder number on the plan.","additionalProperties":false}},"additionalProperties":false},"output_schema":null,"annotations":{"title":"Report a credit balance","readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T11:12:02.092Z"},{"name":"save_plan_draft","title":"Save the founder’s review","description":"Saves a founder’s review as a one-day draft and returns a link that opens it on programscape.com with their answers and kept programs in place. The founder saves it there with an email code (no password). The link works for 24 hours.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["answers"],"properties":{"keep":{"type":"array","items":{"type":"string","maxLength":120},"maxItems":50,"description":"Ids of programs the founder chose to keep. Empty or left out when they chose none."},"answers":{"type":"object","description":"The founder’s answers, keyed by question field: the shared questions’ fields or a question a review returned (e.g. \"stage\": \"seed\", \"funding\": [\"venture\"], \"currentProviders\": [\"aws\", \"openai\"], \"companyTypes\": [\"ai\"]). A fact the founder hasn’t given is left out and stays unknown.","propertyNames":{"type":"string","maxLength":80},"additionalProperties":{"anyOf":[{"type":"string","maxLength":200},{"type":"number"},{"type":"array","items":{"type":"string","maxLength":80},"maxItems":30}]}}},"additionalProperties":false},"output_schema":null,"annotations":{"title":"Save the founder’s review","readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T11:12:02.092Z"},{"name":"search_programs","title":"Search startup programs and offers","description":"Searches the reviewed catalog of startup credits, programs, support and product discounts across providers (AWS, Google Cloud, Microsoft Azure, OpenAI, Anthropic, NVIDIA, Stripe and more). Each result carries its official source and the date it was last checked. Can be limited to programs whose product offers an agent-tool capability (search, scrape, crawl, browser, extract, llm or sandbox): a program matches when its record lists any one of those asked for, and results keep the catalog’s own order. A result lists its capabilities when its record has been reviewed for them. A listing is not a statement that anyone qualifies.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"kind":{"enum":["programs","offers","all"],"type":"string","description":"\"programs\" for startup programs and support, \"offers\" for product discounts, \"all\" for both (the default)."},"limit":{"type":"integer","maximum":50,"minimum":1,"description":"How many results to return (default 20, at most 50)."},"query":{"type":"string","maxLength":200,"description":"Words to match against program names, headlines, products and providers. Leave empty to list everything."},"provider":{"type":"string","maxLength":40,"description":"A provider id such as \"aws\", \"gcp\", \"openai\" or \"stripe\". Leave empty for every provider."},"capabilities":{"type":"array","items":{"enum":["search","scrape","crawl","browser","extract","llm","sandbox"],"type":"string"},"maxItems":7,"minItems":1,"description":"Agent-tool capabilities, e.g. [\"search\"] or [\"scrape\", \"crawl\"]. A program matches when its record lists any one of them. Leave it out to search every program, including those not reviewed for capabilities."}},"additionalProperties":false},"output_schema":null,"annotations":{"title":"Search startup programs and offers","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T11:12:02.092Z"},{"name":"update_my_plan","title":"Update the founder’s saved plan","description":"Saves answers and program choices to the founder’s own Programscape plan: new or changed answers, programs to keep, programs to set aside. Creates their first plan if they have none. Only what is sent changes; everything else in the plan (notes, progress, contacts) stays as it is.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"keep":{"type":"array","items":{"type":"string","maxLength":160},"maxItems":50,"description":"Program ids the founder wants to keep in their plan."},"planId":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$","description":"Which saved plan, if the founder has more than one. Leave out for their most recent."},"answers":{"type":"object","description":"New or changed answers the founder gave, keyed by question field as in a review’s answers.","propertyNames":{"type":"string","maxLength":80},"additionalProperties":{"anyOf":[{"type":"string","maxLength":200},{"type":"number"},{"type":"array","items":{"type":"string","maxLength":80},"maxItems":30}]}},"setAside":{"type":"array","items":{"type":"string","maxLength":160},"maxItems":50,"description":"Program ids the founder wants to set aside."}},"additionalProperties":false},"output_schema":null,"annotations":{"title":"Update the founder’s saved plan","readOnlyHint":false,"openWorldHint":false,"idempotentHint":false,"destructiveHint":true},"source":"probe","observed_at":"2026-10-19T11:12:02.092Z"},{"name":"whats_changed","title":"What changed in the latest re-checks","description":"Returns what Programscape’s latest checks against the providers’ own pages found, dated and sourced.","input_schema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"limit":{"type":"integer","maximum":10,"minimum":1,"description":"How many of the latest re-checks to return (default 3)."}},"additionalProperties":false},"output_schema":null,"annotations":{"title":"What changed in the latest re-checks","readOnlyHint":true,"openWorldHint":false,"idempotentHint":true,"destructiveHint":false},"source":"probe","observed_at":"2026-10-19T11:12:02.092Z"}],"next_cursor":null,"next_actions":[{"action":"get_connection","description":"Connection block to call these tools","href":"/v1/servers/com.programscape%2Fprogramscape/connection?target=mcpServers","arguments":{"name":"com.programscape/programscape","target":"mcpServers"}},{"action":"get_server","description":"Full descriptor with trust and connectability","href":"/v1/servers/com.programscape%2Fprogramscape","arguments":{"name":"com.programscape/programscape"}}]}