# Programscape (remote · programscape.com)

Startup credits, programs and perks from checked sources, with saved plans and reported balances.

- Trust score: 76/100 (medium)
- Change this week: +3
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `programscape.com`: 76/100 (this document), [markdown](https://verifymcp.io/servers/com-programscape-programscape/api-mcp.md), [page](https://verifymcp.io/servers/com-programscape-programscape/api-mcp)

## Channel facts

- Endpoint: `https://programscape.com/api/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.1.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 63/100
  - 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.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 64/100
  - 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.
- **Stability & Change Management**: 93/100
  - Stability observed for 28 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 100/100
  - 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.
- **Capabilities**: 60/100
  - Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28.

## Install

### How do I install the Programscape MCP server?

Programscape is a hosted endpoint at https://programscape.com/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-programscape-programscape 'https://programscape.com/api/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-programscape-programscape": {
      "url": "https://programscape.com/api/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-programscape-programscape": {
      "type": "http",
      "url": "https://programscape.com/api/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-programscape-programscape]
url = "https://programscape.com/api/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-programscape-programscape": {
      "type": "remote",
      "url": "https://programscape.com/api/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-programscape-programscape --url 'https://programscape.com/api/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-programscape-programscape:
    url: "https://programscape.com/api/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-programscape-programscape": {
      "Transport": "http",
      "Url": "https://programscape.com/api/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-programscape-programscape -t streamable-http -u 'https://programscape.com/api/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-programscape-programscape": {
      "type": "http",
      "url": "https://programscape.com/api/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-04 (score 76, +1)

No change was recorded against any check on this day. Stability & Change Management went from 87 to 90. That category is still filling its 30-day observation window: 26 days of observed history at the previous scan, 27 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-02 (score 75, +1)

No change was recorded against any check on this day. Stability & Change Management went from 80 to 83. That category is still filling its 30-day observation window: 24 days of observed history at the previous scan, 25 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-31 (score 74, +1)

No change was recorded against any check on this day. Stability & Change Management went from 73 to 77. That category is still filling its 30-day observation window: 22 days of observed history at the previous scan, 23 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-28 (score 73, +1)

No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-26 (score 72, +1)

No change was recorded against any check on this day. Stability & Change Management went from 57 to 60. That category is still filling its 30-day observation window: 17 days of observed history at the previous scan, 18 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-25 (score 71, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “my_plan” rewrote its description, which is the text the model reads
- [security] Tool “update_my_plan” rewrote its description, which is the text the model reads
- [functional] Server version: 1.0.0 → 1.1.0
- [cosmetic] “update_my_plan” added an optional parameter “expectedVersion”
- [cosmetic] “update_my_plan” added an optional parameter “progress”
- [cosmetic] “my_plan” reworded the description of “planId”
- [cosmetic] “report_balance” reworded the description of “planId”
- [cosmetic] “update_my_plan” reworded the description of “planId”

### 2026-10-24 (score 71, +1)

- [security] Tool “my_plan” rewrote its description, which is the text the model reads
- [security] Tool “partner_perks_admin” rewrote its description, which is the text the model reads
- [security] Tool “portfolio_perks” rewrote its description, which is the text the model reads
- [security] Tool “report_balance” rewrote its description, which is the text the model reads
- [security] Tool “update_my_plan” rewrote its description, which is the text the model reads
- [cosmetic] “get_program” reworded the description of “id”
- [cosmetic] “build_route” made “answers” optional

### 2026-10-23 (score 70, −1)

- [cosmetic] “build_route” added an optional parameter “inferredAnswers”
- [cosmetic] “save_plan_draft” added an optional parameter “inferredAnswers”
- [cosmetic] “update_my_plan” reworded the description of “answers”

## MCP tools (12)

### `build_route` (~296 tokens)

Build a founder’s route

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 parameters:

- `answers` (object): 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…
- `inferredAnswers` (array): 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…

### `my_plan` (~177 tokens)

Read the founder’s saved plan

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.

Input parameters:

- `planId` (string): The selected saved plan. Required when the account has more than one plan; an omitted id never chooses the most recently updated one.

### `update_my_plan` (~382 tokens)

Update the founder’s saved plan

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.

Input parameters:

- `answers` (object): 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…
- `expectedVersion` (integer): The version of the plan that was read. When supplied, an intervening save causes a conflict and changes nothing.
- `keep` (array): Program ids the founder wants to keep in their plan.
- `planId` (string): The selected saved plan. Required when the account has more than one plan; an omitted id never chooses the most recently updated one.
- `progress` (array): 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…
- `setAside` (array): Program ids the founder wants to set aside.

### `report_balance` (~482 tokens)

Report a credit balance

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.

Input parameters:

- `amount` (number, required): 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.
- `asOf` (string): When the balance was read from the provider, as an ISO 8601 date and time. Leave out to mean now.
- `estimate` (object): 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…
- `lowBalanceAt` (object): Optional: the number under which the founder asked to be reminded, in the balance’s unit. Replaces the reminder number on the plan.
- `planId` (string): The selected saved plan. Required when the account has more than one plan; an omitted id never chooses the most recently updated one.
- `programId` (string, required): The id of a program the founder keeps on their plan and has marked approved, for example "firecrawl.startup-deal".
- `source` (string): 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…
- `unit` (string, required): The unit the provider reports the balance in: usd, credits or requests.

### `portfolio_perks` (~92 tokens)

The founder’s portfolio perks

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.

### `partner_perks_admin` (~118 tokens)

Your partner perks list (for its admins)

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.

### `save_plan_draft` (~217 tokens)

Save the founder’s review

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 parameters:

- `answers` (object, required): 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…
- `inferredAnswers` (array): 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…
- `keep` (array): Ids of programs the founder chose to keep. Empty or left out when they chose none.

### `profile_questions` (~35 tokens)

Questions that shape the route

Returns the shared questions, with their answer options, that shape a founder’s review. A fact the founder hasn’t given stays unknown.

### `search_programs` (~296 tokens)

Search startup programs and offers

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 parameters:

- `capabilities` (array): 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…
- `kind` (string): "programs" for startup programs and support, "offers" for product discounts, "all" for both (the default).
- `limit` (integer): How many results to return (default 20, at most 50).
- `provider` (string): A provider id such as "aws", "gcp", "openai" or "stripe". Leave empty for every provider.
- `query` (string): Words to match against program names, headlines, products and providers. Leave empty to list everything.

### `get_program` (~89 tokens)

Read one program

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 parameters:

- `id` (string, required): 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.

### `compare_programs` (~86 tokens)

Compare programs across providers

Returns families of programs that serve the same goal across providers, side by side, with no winner and no score.

Input parameters:

- `goal` (string): Limit to programs serving one goal, e.g. "build" or "save". Leave empty for every goal.
- `stage` (string): Limit to programs for one stage, e.g. "seed". Leave empty for every stage.

### `whats_changed` (~48 tokens)

What changed in the latest re-checks

Returns what Programscape’s latest checks against the providers’ own pages found, dated and sourced.

Input parameters:

- `limit` (integer): How many of the latest re-checks to return (default 3).

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-programscape-programscape/api-mcp#diagnostics

## Score history

- 2026-11-05: 76
- 2026-11-04: 76
- 2026-11-03: 75
- 2026-11-02: 75
- 2026-11-01: 74
- 2026-10-31: 74
- 2026-10-30: 73
- 2026-10-29: 73
- 2026-10-28: 73
- 2026-10-27: 72
- 2026-10-26: 72
- 2026-10-25: 71
- 2026-10-24: 71
- 2026-10-23: 70
- 2026-10-22: 71
- 2026-10-21: 70
- 2026-10-20: 70
- 2026-10-19: 69
- 2026-10-18: 69
- 2026-10-17: 68
- 2026-10-16: 68
- 2026-10-15: 67
- 2026-10-14: 67
- 2026-10-13: 66
- 2026-10-12: 66
- 2026-10-10: 66
- 2026-10-09: 66

## Common questions

### What is the Programscape MCP server?

Programscape is an MCP server listed in the public MCP registry as com.programscape/programscape. Startup credits, programs and perks from checked sources, with saved plans and reported balances. This page covers its hosted endpoint (https://programscape.com/api/mcp).

### Is the Programscape MCP server safe to use?

Programscape scores 76 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Programscape MCP server expose?

Programscape exposes 12 tools: build_route, my_plan, update_my_plan, report_balance, portfolio_perks, and 7 more. Their descriptions and schemas cost roughly 2,318 tokens of context every time the server is loaded.

### Does the Programscape MCP server require authentication?

No. We connected to Programscape without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Programscape MCP server still maintained?

Programscape is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What did VerifyMCP test on the Programscape MCP server?

VerifyMCP ran 13 checks on Programscape, covering TLS certificate, Authorization, HTTPS, HSTS header and 9 more. Supply Chain Security and Provenance & Transparency do not apply to a hosted endpoint, so they were not tested. The score does not measure everything, and the scoring documentation lists what it leaves out.

## Links

- Remote endpoint: https://programscape.com/api/mcp
- Repository: https://github.com/Deirfgeiz/programscape-mcp
- Website: https://programscape.com/claude
- Changelog RSS feed: https://verifymcp.io/servers/com-programscape-programscape/api-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-programscape-programscape/api-mcp/changelog.json
- Trust report (JSON): https://verifymcp.io/servers/com-programscape-programscape/api-mcp.json
- HTML version of this page: https://verifymcp.io/servers/com-programscape-programscape/api-mcp
