{"$schema":"https://verifymcp.io/schemas/trust-report.json","schemaVersion":1,"license":{"name":"CC BY-NC 4.0","url":"https://creativecommons.org/licenses/by-nc/4.0/"},"generatedAt":"2026-11-05T16:07:37.980Z","url":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp","markdownUrl":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp.md","server":{"slug":"com-programscape-programscape","name":"Programscape","registryName":"com.programscape/programscape","description":"Startup credits, programs and perks from checked sources, with saved plans and reported balances.","registryStatus":"active","deletedAt":null,"statusMessage":null,"liveness":"live","publisher":{"class":"unknown","claimed":false}},"component":{"slug":"api-mcp","type":"remote","identifier":"https://programscape.com/api/mcp","withdrawn":false,"url":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp","version":"1.1.0","transport":null,"scoredAt":"2026-11-05T08:44:56.925Z"},"score":{"total":76,"tier":"medium","status":"scored","weekDelta":3,"history":[{"date":"2026-11-05","total":76},{"date":"2026-11-04","total":76},{"date":"2026-11-03","total":75},{"date":"2026-11-02","total":75},{"date":"2026-11-01","total":74},{"date":"2026-10-31","total":74},{"date":"2026-10-30","total":73},{"date":"2026-10-29","total":73},{"date":"2026-10-28","total":73},{"date":"2026-10-27","total":72},{"date":"2026-10-26","total":72},{"date":"2026-10-25","total":71},{"date":"2026-10-24","total":71},{"date":"2026-10-23","total":70},{"date":"2026-10-22","total":71},{"date":"2026-10-21","total":70},{"date":"2026-10-20","total":70},{"date":"2026-10-19","total":69},{"date":"2026-10-18","total":69},{"date":"2026-10-17","total":68},{"date":"2026-10-16","total":68},{"date":"2026-10-15","total":67},{"date":"2026-10-14","total":67},{"date":"2026-10-13","total":66},{"date":"2026-10-12","total":66},{"date":"2026-10-10","total":66},{"date":"2026-10-09","total":66}]},"categories":[{"name":"Endpoint Security","score":63,"verdict":"fail","reasons":["The endpoint's TLS certificate is valid, in date, and uses a strong key.","Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (update_my_plan).","HTTPS is enforced; there's no plaintext access path.","The HSTS (Strict-Transport-Security) header is present.","DNSSEC check failed: this domain isn't protected by DNSSEC."],"codes":[{"code":"tls.valid","args":{}},{"code":"auth.none_destructive","args":{"tool":"update_my_plan"}},{"code":"https.enforced","args":{}},{"code":"headers.hsts_present","args":{}},{"code":"dnssec.absent","args":{}}]},{"name":"Transport & Reachability","score":100,"verdict":"pass","reasons":["Verified streamable-http transport via a live MCP handshake."],"codes":[{"code":"transport.verified","args":{"transport":"streamable-http"}}]},{"name":"Schema Quality & AI Usability","score":64,"verdict":"fail","reasons":["AI-judged instruction clarity (excellent).","Context-footprint check failed: tool/resource definitions use about 2719 tokens (~226/item across 12 items; 12 tools + 0 resources), over budget; trim descriptions and params.","Usage-examples check failed: none of the tools include examples."],"codes":[{"code":"schema.ai_quality","args":{"band":"excellent"}},{"code":"schema.footprint_heavy","args":{"avg":"226","items":"12","tools":"12","tokens":"2719","resources":"0"}},{"code":"schema.examples_absent","args":{}}]},{"name":"Stability & Change Management","score":93,"verdict":"partial","reasons":["Stability observed for 28 of 30 days with no destabilising changes; credit accrues until the full window elapses."],"codes":[{"code":"stability.building_history","args":{"days":"28"}}]},{"name":"Tool Coverage","score":100,"verdict":"pass","reasons":["100% of tools have a non-trivial description (not blank, and not just the tool's name).","100% of tool parameters carry a description."],"codes":[{"code":"toolquality.descriptions","args":{"pct":"100"}},{"code":"toolquality.param_docs","args":{"pct":"100"}}]},{"name":"Tool Safety","score":100,"verdict":"pass","reasons":["No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.","We read all 12 captured tool definition(s), and no name or description among them implies an irreversible operation.","An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it."],"codes":[{"code":"toolsafety.injection_clean","args":{}},{"code":"toolsafety.destructive_none","args":{"tools":"12"}},{"code":"toolsafety.manipulation_clean","args":{"units":"13","judged":"13"}}]},{"name":"Capabilities","score":60,"verdict":"fail","reasons":["Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28."],"codes":[{"code":"protocol.outdated","args":{"latest":"2026-07-28","version":"2025-06-18"}}]}],"inconclusive":[],"malware":[],"components":[{"slug":"api-mcp","type":"remote","identifier":"https://programscape.com/api/mcp","withdrawn":false,"score":76,"current":true,"url":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp","markdownUrl":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp.md"}],"facts":[{"label":"Endpoint","value":"https://programscape.com/api/mcp"},{"label":"Transports","value":"streamable-http"},{"label":"Auth","value":"none"},{"label":"Version","value":"1.1.0"}],"install":{"available":true,"bundleSha256":null},"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.","inputs":[{"name":"answers","type":"object","required":false,"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\"], \"com…"},{"name":"inferredAnswers","type":"array","required":false,"description":"The worked-out partner answers a saved plan returned as inferredAnswers, exactly as returned: the review reads them as Programscape worked them out, not as the founder’s own answers, and one from a l…"}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":296},{"name":"my_plan","title":"Read the founder’s saved plan","description":"Returns the founder’s saved Programscape plan: their answers, named company and plan choices, the programs they kept or set aside, and each kept program’s team-reported progress, next action, result note and lifecycle dates (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 an account with multiple plans, an omitted plan id returns named choices and requires a selection. For a returning founder asking where things stand or what to do next. Needs the founder’s Programscape sign-in.","inputs":[{"name":"planId","type":"string","required":false,"description":"The selected saved plan. Required when the account has more than one plan; an omitted id never chooses the most recently updated one."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":177},{"name":"update_my_plan","title":"Update the founder’s saved plan","description":"Saves answers, program choices and founder-reported progress to the selected Programscape plan. Progress edits cover pursuit, next action, reported result and note, and the founder’s lifecycle dates on kept programs. These are team reports, never provider verification or eligibility. Creates a first plan from answers and choices if there is none; progress needs an existing kept program. Only sent fields change; drafts, contacts and financial readings stay as stored. Multiple plans require an explicit plan id. An optional expected version refuses intervening saves. Needs the founder’s Programscape sign-in.","inputs":[{"name":"answers","type":"object","required":false,"description":"New or changed answers the founder gave, keyed by question field as in a review’s answers. `firms` is the whole list of who backs the company, never only the newest: a plan never keeps the firms’ nam…"},{"name":"expectedVersion","type":"integer","required":false,"description":"The version of the plan that was read. When supplied, an intervening save causes a conflict and changes nothing."},{"name":"keep","type":"array","required":false,"description":"Program ids the founder wants to keep in their plan."},{"name":"planId","type":"string","required":false,"description":"The selected saved plan. Required when the account has more than one plan; an omitted id never chooses the most recently updated one."},{"name":"progress","type":"array","required":false,"description":"Founder-requested edits to progress on kept programs: pursuit, next action, reported result/note and their own lifecycle dates (YYYY-MM-DD). Only sent fields change; null clears a field. Clearing a r…"},{"name":"setAside","type":"array","required":false,"description":"Program ids the founder wants to set aside."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":382},{"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. Needs the founder’s Programscape sign-in.","inputs":[{"name":"amount","type":"number","required":true,"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."},{"name":"asOf","type":"string","required":false,"description":"When the balance was read from the provider, as an ISO 8601 date and time. Leave out to mean now."},{"name":"estimate","type":"object","required":false,"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…"},{"name":"lowBalanceAt","type":"object","required":false,"description":"Optional: the number under which the founder asked to be reminded, in the balance’s unit. Replaces the reminder number on the plan."},{"name":"planId","type":"string","required":false,"description":"The selected saved plan. Required when the account has more than one plan; an omitted id never chooses the most recently updated one."},{"name":"programId","type":"string","required":true,"description":"The id of a program the founder keeps on their plan and has marked approved, for example \"firecrawl.startup-deal\"."},{"name":"source","type":"string","required":false,"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…"},{"name":"unit","type":"string","required":true,"description":"The unit the provider reports the balance in: usd, credits or requests."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":482},{"name":"portfolio_perks","title":"The founder’s portfolio perks","description":"Only for a founder who joined a venture firm’s or studio’s perks on Programscape through its invite link (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. A founder who joined no portfolio gets no deals from it. Needs the founder’s Programscape sign-in.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":92},{"name":"partner_perks_admin","title":"Your partner perks list (for its admins)","description":"Only 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. A founder gets nothing from it. Needs that admin’s Programscape sign-in.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":118},{"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.","inputs":[{"name":"answers","type":"object","required":true,"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\"], \"com…"},{"name":"inferredAnswers","type":"array","required":false,"description":"The worked-out partner answers a saved plan returned as inferredAnswers, exactly as returned: the review reads them as Programscape worked them out, not as the founder’s own answers, and one from a l…"},{"name":"keep","type":"array","required":false,"description":"Ids of programs the founder chose to keep. Empty or left out when they chose none."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":217},{"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.","inputs":[],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":35},{"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.","inputs":[{"name":"capabilities","type":"array","required":false,"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 capabi…"},{"name":"kind","type":"string","required":false,"description":"\"programs\" for startup programs and support, \"offers\" for product discounts, \"all\" for both (the default)."},{"name":"limit","type":"integer","required":false,"description":"How many results to return (default 20, at most 50)."},{"name":"provider","type":"string","required":false,"description":"A provider id such as \"aws\", \"gcp\", \"openai\" or \"stripe\". Leave empty for every provider."},{"name":"query","type":"string","required":false,"description":"Words to match against program names, headlines, products and providers. Leave empty to list everything."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":296},{"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.","inputs":[{"name":"id","type":"string","required":true,"description":"A program id as it appears in program records (e.g. \"aws.activate-credits\"), its page slug (e.g. \"aws-activate-credits\"), its page link, or its exact name."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":89},{"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.","inputs":[{"name":"goal","type":"string","required":false,"description":"Limit to programs serving one goal, e.g. \"build\" or \"save\". Leave empty for every goal."},{"name":"stage","type":"string","required":false,"description":"Limit to programs for one stage, e.g. \"seed\". Leave empty for every stage."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":86},{"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.","inputs":[{"name":"limit","type":"integer","required":false,"description":"How many of the latest re-checks to return (default 3)."}],"outputs":[],"hasOutputSchema":false,"hasExamples":false,"tokenEstimate":48}],"toolsTruncatedAtCapture":false,"diagnostics":{"capturedAt":"2026-11-05T08:44:56.000Z","track":"remote","endpoint":"https://programscape.com/api/mcp","declaredUrl":null,"truncated":false,"tls":{"outcome":"valid","label":"Valid","version":"TLS 1.3","cipherSuite":"TLS_AES_128_GCM_SHA256","chainError":null,"certificates":[{"subject":"CN=programscape.com","issuer":"CN=YR2,O=Let's Encrypt,C=US","notBefore":"2026-09-08T22:14:57Z","notAfter":"2026-12-07T22:14:56Z","keyType":"RSA","keyBits":2048,"isCa":false},{"subject":"CN=YR2,O=Let's Encrypt,C=US","issuer":"CN=Root YR,O=ISRG,C=US","notBefore":"2025-09-03T00:00:00Z","notAfter":"2028-09-02T23:59:59Z","keyType":"RSA","keyBits":2048,"isCa":true},{"subject":"CN=Root YR,O=ISRG,C=US","issuer":"CN=ISRG Root X1,O=Internet Security Research Group,C=US","notBefore":"2026-05-13T00:00:00Z","notAfter":"2032-09-02T23:59:59Z","keyType":"RSA","keyBits":4096,"isCa":true}]},"dnssec":{"result":"insecure","label":"Not signed","name":"programscape.com.","steps":[{"zone":".","outcome":"verified","label":"Verified"},{"zone":"com.","outcome":"verified","label":"Verified"},{"zone":"programscape.com.","outcome":"insecure_proven","label":"Unsigned (proven)"}]},"auth":{"outcome":"none","label":"No authorisation required","gate":null,"gateLabel":null,"status":200,"authorizationServers":[]},"httpsRedirect":{"outcome":"https_enforced","label":"HTTPS enforced","status":308},"transports":[{"transport":"streamable-http","outcome":"verified","label":"Verified","status":200,"followed":false}],"provenance":null,"installScripts":[],"installScriptsTotal":null,"vulnerabilities":[],"vulnerabilitiesTotal":null,"dependencies":null},"mismatches":[],"changelog":{"trackingSince":"2026-10-09","recent":[{"id":"chg_01a1a5b7-f5ca-7aa1-a2d5-f96b22f0d95c","kind":"score.total_changed","summary":"Trust score (75 → 76)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-04","url":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp#chg-chg_01a1a5b7-f5ca-7aa1-a2d5-f96b22f0d95c"},{"id":"chg_01a19b68-77e2-7395-bcf0-c3a17a87bc4d","kind":"score.total_changed","summary":"Trust score (74 → 75)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-11-02","url":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp#chg-chg_01a19b68-77e2-7395-bcf0-c3a17a87bc4d"},{"id":"chg_01a1911b-52e9-7613-8e0b-9ea2127bd67b","kind":"score.total_changed","summary":"Trust score (73 → 74)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-31","url":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp#chg-chg_01a1911b-52e9-7613-8e0b-9ea2127bd67b"},{"id":"chg_01a181a7-bae2-72f1-bc3c-398602225ff0","kind":"score.total_changed","summary":"Trust score (72 → 73)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-28","url":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp#chg-chg_01a181a7-bae2-72f1-bc3c-398602225ff0"},{"id":"chg_01a1775a-f7cc-7949-b939-fdbbd77b5eb6","kind":"score.total_changed","summary":"Trust score (71 → 72)","materiality":"functional","direction":"improvement","scoreDelta":1,"occurredOn":"2026-10-26","url":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp#chg-chg_01a1775a-f7cc-7949-b939-fdbbd77b5eb6"},{"id":"chg_01a174e0-a680-7d2c-9d07-be2ea3c293cb","kind":"tool.description_changed","summary":"Tool “my_plan” rewrote its description, which is the text the model reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-25","url":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp#chg-chg_01a174e0-a680-7d2c-9d07-be2ea3c293cb"},{"id":"chg_01a174e0-a684-726f-83a4-0af8609533a5","kind":"param.description_changed","summary":"“my_plan” reworded the description of “planId”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-25","url":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp#chg-chg_01a174e0-a684-726f-83a4-0af8609533a5"},{"id":"chg_01a174e0-a684-7d4e-897f-14d5a146fc03","kind":"param.description_changed","summary":"“report_balance” reworded the description of “planId”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-25","url":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp#chg-chg_01a174e0-a684-7d4e-897f-14d5a146fc03"},{"id":"chg_01a174e0-a686-723e-a7fd-ed72b4830856","kind":"tool.description_changed","summary":"Tool “update_my_plan” rewrote its description, which is the text the model reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-25","url":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp#chg-chg_01a174e0-a686-723e-a7fd-ed72b4830856"},{"id":"chg_01a174e0-a686-7cde-b71b-f707d6db7976","kind":"param.description_changed","summary":"“update_my_plan” reworded the description of “planId”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-25","url":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp#chg-chg_01a174e0-a686-7cde-b71b-f707d6db7976"},{"id":"chg_01a174e0-a687-7a43-a972-1671cc95cd5f","kind":"param.added_optional","summary":"“update_my_plan” added an optional parameter “expectedVersion”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-25","url":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp#chg-chg_01a174e0-a687-7a43-a972-1671cc95cd5f"},{"id":"chg_01a174e0-a687-7f1d-a8d6-708755bcefd4","kind":"param.added_optional","summary":"“update_my_plan” added an optional parameter “progress”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-25","url":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp#chg-chg_01a174e0-a687-7f1d-a8d6-708755bcefd4"},{"id":"chg_01a174e0-a688-744f-a4b6-60ebced6eb1e","kind":"server.version_changed","summary":"Server version (1.0.0 → 1.1.0)","materiality":"functional","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-25","url":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp#chg-chg_01a174e0-a688-744f-a4b6-60ebced6eb1e"},{"id":"chg_01a17231-ce6f-7656-97f3-cfb96f5135cc","kind":"server.instructions_changed","summary":"The server rewrote its instructions, which are the text every model session reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-25","url":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp#chg-chg_01a17231-ce6f-7656-97f3-cfb96f5135cc"},{"id":"chg_01a16d09-cfbb-7c93-9f5e-535dc9152dfe","kind":"param.required_to_optional","summary":"“build_route” made “answers” optional","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-24","url":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp#chg-chg_01a16d09-cfbb-7c93-9f5e-535dc9152dfe"},{"id":"chg_01a16d09-cfbc-7ae9-951a-d9306024aa37","kind":"param.description_changed","summary":"“get_program” reworded the description of “id”","materiality":"cosmetic","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-24","url":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp#chg-chg_01a16d09-cfbc-7ae9-951a-d9306024aa37"},{"id":"chg_01a16d09-cfbd-731e-a2de-81be52079839","kind":"tool.description_changed","summary":"Tool “my_plan” rewrote its description, which is the text the model reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-24","url":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp#chg-chg_01a16d09-cfbd-731e-a2de-81be52079839"},{"id":"chg_01a16d09-cfbe-7376-8228-1504a3f989b1","kind":"tool.description_changed","summary":"Tool “partner_perks_admin” rewrote its description, which is the text the model reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-24","url":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp#chg-chg_01a16d09-cfbe-7376-8228-1504a3f989b1"},{"id":"chg_01a16d09-cfbe-7be1-aa03-d896d26d9edb","kind":"tool.description_changed","summary":"Tool “portfolio_perks” rewrote its description, which is the text the model reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-24","url":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp#chg-chg_01a16d09-cfbe-7be1-aa03-d896d26d9edb"},{"id":"chg_01a16d09-cfbf-7322-b145-698663bcb98c","kind":"tool.description_changed","summary":"Tool “report_balance” rewrote its description, which is the text the model reads","materiality":"security","direction":"neutral","scoreDelta":null,"occurredOn":"2026-10-24","url":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp#chg-chg_01a16d09-cfbf-7322-b145-698663bcb98c"}],"truncated":true,"feedUrl":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp/changelog.json"},"links":{"html":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp","markdown":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp.md","changelogJson":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp/changelog.json","changelogRss":"https://verifymcp.io/servers/com-programscape-programscape/api-mcp.xml","external":[{"label":"Remote endpoint","href":"https://programscape.com/api/mcp"},{"label":"Repository","href":"https://github.com/Deirfgeiz/programscape-mcp"},{"label":"Website","href":"https://programscape.com/claude"}]}}