# Covenant AAP - hosted developer pilot (remote · jupie202020.pythonanywhere.com)

Find services, draft exact terms and review agreements. Public tools; private account trials.

- Trust score: 71/100 (medium)
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `jupie202020.pythonanywhere.com`: 71/100 (this document), [markdown](https://verifymcp.io/servers/covenant-common-covenant-aap/jupie202020.md), [page](https://verifymcp.io/servers/covenant-common-covenant-aap/jupie202020)

## Channel facts

- Endpoint: `https://jupie202020.pythonanywhere.com/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.46.0-pilot.20261031.2`

## 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**: 74/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Nothing on it is marked destructive, but we can't show that an anonymous caller can only read: full credit needs the server to list at least one tool and every tool to be verifiably read-only. We use a best-effort check of tool names and descriptions to tell read-only tools from tools that change things, so some genuinely read-only tools may not get full credit. Names that start with a read verb (get, list, read, search and similar) and accurate readOnlyHint annotations help. Meet that to earn full credit, or require authorisation.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - 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**: 63/100
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 1668 tokens (~185/item across 9 items; 9 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 17/100
  - Stability observed for 5 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 9 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 10 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Covenant AAP - hosted developer pilot MCP server?

Covenant AAP - hosted developer pilot is a hosted endpoint at https://jupie202020.pythonanywhere.com/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 covenant-common-covenant-aap 'https://jupie202020.pythonanywhere.com/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "covenant-common-covenant-aap": {
      "url": "https://jupie202020.pythonanywhere.com/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "covenant-common-covenant-aap": {
      "type": "http",
      "url": "https://jupie202020.pythonanywhere.com/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.covenant-common-covenant-aap]
url = "https://jupie202020.pythonanywhere.com/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "covenant-common-covenant-aap": {
      "type": "remote",
      "url": "https://jupie202020.pythonanywhere.com/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add covenant-common-covenant-aap --url 'https://jupie202020.pythonanywhere.com/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  covenant-common-covenant-aap:
    url: "https://jupie202020.pythonanywhere.com/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "covenant-common-covenant-aap": {
      "Transport": "http",
      "Url": "https://jupie202020.pythonanywhere.com/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add covenant-common-covenant-aap -t streamable-http -u 'https://jupie202020.pythonanywhere.com/mcp'
```

### Other

```json
{
  "mcpServers": {
    "covenant-common-covenant-aap": {
      "type": "http",
      "url": "https://jupie202020.pythonanywhere.com/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 71, +1)

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

### 2026-11-03 (score 70, +3)

- [security] Tool “aap_public_listing_search” rewrote its description, which is the text the model reads
- [security] Tool “covenant_contract__compare” rewrote its description, which is the text the model reads
- [security] Tool “covenant_contract__draft” rewrote its description, which is the text the model reads
- [security] Tool “covenant_contract__inspect” rewrote its description, which is the text the model reads
- [security] Tool “covenant_contract__render” rewrote its description, which is the text the model reads
- [security] Tool “covenant_marketplace__quick_trade” rewrote its description, which is the text the model reads
- [security] Tool “covenant_review__authority” rewrote its description, which is the text the model reads
- [security] Tool “covenant_review__evidence” rewrote its description, which is the text the model reads
- [security] Tool “covenant_review__review” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 111 → 185
- [functional improvement] Tool coverage: 12% → 100%
- [functional] Schema quality: fair → good
- [cosmetic] “aap_public_listing_search” reworded the description of “category”
- [cosmetic] “aap_public_listing_search” reworded the description of “limit”
- [cosmetic] “aap_public_listing_search” reworded the description of “offset”
- [cosmetic] “aap_public_listing_search” reworded the description of “query”
- [cosmetic] “covenant_contract__compare” reworded the description of “after”
- [cosmetic] “covenant_contract__compare” reworded the description of “before”
- [cosmetic] “covenant_contract__draft” reworded the description of “clauses”
- [cosmetic] “covenant_contract__draft” reworded the description of “conditions”
- [cosmetic] “covenant_contract__draft” reworded the description of “dispute”
- [cosmetic] “covenant_contract__draft” reworded the description of “extensions”
- [cosmetic] “covenant_contract__draft” reworded the description of “parties”
- [cosmetic] “covenant_contract__draft” reworded the description of “settlement”
- [cosmetic] “covenant_contract__draft” reworded the description of “title”
- [cosmetic] “covenant_contract__inspect” reworded the description of “body”
- [cosmetic] “covenant_contract__render” reworded the description of “body”
- [cosmetic] “covenant_marketplace__quick_trade” reworded the description of “amount”
- [cosmetic] “covenant_marketplace__quick_trade” reworded the description of “archetype”
- [cosmetic] “covenant_marketplace__quick_trade” reworded the description of “buyer”
- [cosmetic] “covenant_marketplace__quick_trade” reworded the description of “compact”
- [cosmetic] “covenant_marketplace__quick_trade” reworded the description of “context”
- [cosmetic] “covenant_marketplace__quick_trade” reworded the description of “description”
- [cosmetic] “covenant_marketplace__quick_trade” reworded the description of “payment_asset”
- [cosmetic] “covenant_marketplace__quick_trade” reworded the description of “seller”
- [cosmetic] “covenant_marketplace__quick_trade” reworded the description of “settlement”
- [cosmetic] “covenant_marketplace__quick_trade” reworded the description of “terms”
- [cosmetic] “covenant_review__authority” reworded the description of “agreements”
- [cosmetic] “covenant_review__authority” reworded the description of “expected_heads”
- [cosmetic] “covenant_review__authority” reworded the description of “grants”
- [cosmetic] “covenant_review__authority” reworded the description of “group”
- [cosmetic] “covenant_review__authority” reworded the description of “policies”
- [cosmetic] “covenant_review__evidence” reworded the description of “agreement_ids”
- [cosmetic] “covenant_review__evidence” reworded the description of “items”
- [cosmetic] “covenant_review__review” reworded the description of “case”
- [cosmetic] “covenant_review__review” reworded the description of “expected_id”
- [cosmetic] Tool “aap_public_listing_search” changed its title: Find public services
- [cosmetic] Tool “covenant_contract__compare” changed its title: Compare changed terms
- [cosmetic] Tool “covenant_contract__draft” changed its title: Draft work terms
- [cosmetic] Tool “covenant_contract__inspect” changed its title: Inspect contract terms
- [cosmetic] Tool “covenant_contract__render” changed its title: Read contract terms
- [cosmetic] Tool “covenant_marketplace__quick_trade” changed its title: Prepare a service offer
- [cosmetic] Tool “covenant_review__authority” changed its title: Check declared authority
- [cosmetic] Tool “covenant_review__evidence” changed its title: Check supplied proofs
- [cosmetic] Tool “covenant_review__review” changed its title: Review a work record

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

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

### 2026-11-01 (score 66, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-31 (score 66)

First indexed and scored.

## MCP tools (9)

### `covenant_marketplace__quick_trade` (~353 tokens)

Prepare a service offer

Prepare an unsigned service offer with a buyer, seller, price and optional deal structure. Create a general market, listing or reusable transaction archetype. quick_trade prepares the complete simple agreement in one call. Every record carries seven question dimensions. Credit/escrow/custom terms require adopted execution; no funds or inventory are inferred. Selected action: quick_trade.

Input parameters:

- `amount` (integer, required): Integer price in the payment asset's exact stated unit. For USD cents, 25 dollars is 2500 cents; never infer a currency conversion.
- `archetype` (object): Optional exact reusable deal structure supplied by the caller; preparation does not execute it.
- `buyer` (string, required): The proposed buyer role and identifier; a role label does not prove authority.
- `compact` (boolean): Return the supported compact view; retain the complete exact packet when approving.
- `context` (string, required): Caller-chosen exact context for this unsigned proposal.
- `description` (string, required): The work or resource being offered, including the intended deliverable.
- `payment_asset` (object, required): The exact namespace, identifier and unit of the proposed payment asset. Named resource; adapter and transfer_terms default to null and {}. Naming never proves title, custody or transfer.
- `seller` (string, required): The proposed seller role and identifier; a label does not verify the supplier.
- `settlement` (object): Optional proposed settlement terms; no rail is connected or payment sent. Optional explicit settlement terms. A pinned archetype settlement may be repeated exactly, but cannot be silently replaced.
- `terms` (object): Optional exact additional terms to preserve in this unsigned offer. Optional exact inspection, correction, return or other terms adopted in this first offer.

### `covenant_contract__draft` (~176 tokens)

Draft work terms

Draft an agreement from the exact parties, clauses, conditions and dispute terms you supply. Draft arbitrary clauses, preserve amendment ancestry, compare exact changes, and render an escaped HTML draft. Never supplies assent. Selected action: draft.

Input parameters:

- `clauses` (array, required): The exact obligations and terms to include in the unsigned draft.
- `conditions` (array): Optional exact conditions governing the proposed obligations.
- `dispute` (object): Optional proposed review or dispute procedure; no arbitrator is appointed.
- `extensions` (object): Optional exact additional terms or adopted profile references supplied by the caller.
- `parties` (array, required): The declared parties and roles for this draft; no assent is inferred.
- `settlement` (object): Optional proposed payment or settlement terms; no payment occurs.
- `title` (string, required): A short name for the proposed agreement.

### `covenant_contract__inspect` (~102 tokens)

Inspect contract terms

Inspect one exact contract body and return its identifier and structure. Covenant public API and MCP reference: https://covenant-common.github.io/covenant-docs/docs/API_MCP.html. Draft arbitrary clauses, preserve amendment ancestry, compare exact changes, and render an escaped HTML draft. Never supplies assent. Selected action: inspect.

Input parameters:

- `body` (object, required): The raw contract body from the draft response; supply the contract body rather than the complete response wrapper.

### `covenant_contract__compare` (~91 tokens)

Compare changed terms

Compare two contract bodies and show the changes that need fresh approval. Draft arbitrary clauses, preserve amendment ancestry, compare exact changes, and render an escaped HTML draft. Never supplies assent. Selected action: compare.

Input parameters:

- `after` (object, required): The complete proposed replacement raw contract body; changed terms need fresh assent.
- `before` (object, required): The complete original raw contract body; keep its exact bytes and identifier.

### `covenant_contract__render` (~98 tokens)

Read contract terms

Render one exact contract body as readable HTML without changing its terms. Covenant public API and MCP reference: https://covenant-common.github.io/covenant-docs/docs/API_MCP.html. Draft arbitrary clauses, preserve amendment ancestry, compare exact changes, and render an escaped HTML draft. Never supplies assent. Selected action: render.

Input parameters:

- `body` (object, required): The raw contract body to display; a readable copy does not create assent.

### `covenant_review__review` (~261 tokens)

Review a work record

Review a raw coordination case, its supplied agreements, approvals and remaining duties. Review an exact coordination case, its supplied approvals and remaining obligations. Read https://jupie202020.pythonanywhere.com/review-reference.json for the case format and a complete empty example. A contract draft is not a verified agreement. Case builders such as start/case/spec are installed SDK helpers, not tools on this public endpoint. No signing or execution.

Input parameters:

- `case` (object, required): A raw coordination case with version, title and agreements. A contract draft or prior review report is not a case. See the service review-reference.json. Exact coordination case. Use start or case to…
- `expected_id` (string): Optional retained exact case SHA256 identifier. A mismatch refuses; never replace a trusted pin merely to pass.

### `covenant_review__authority` (~221 tokens)

Check declared authority

Inspect supplied role summaries and any supported owner-local authority evidence. Inspect caller-supplied role summaries and any supported local authority evidence. Each agreements row has exactly id, kind and parties (role to direct Ed25519 public key). Do not pass a contract-draft wrapper. Read https://jupie202020.pythonanywhere.com/review-reference.json for examples. A declared role is not verified permission; this does not authorize signing, payment or execution.

Input parameters:

- `agreements` (array, required): Caller-declared role summaries. Each row has exactly id, kind and parties; parties maps role names to supported public verification keys. These are not signed contract wrappers.
- `expected_heads` (array): Optional retained sorted causal heads for the group review.
- `grants` (array): Optional exact grant records for owner-local access review; do not provide private keys or credentials.
- `group` (string): Optional exact group reference; it does not appoint a controller or grant authority.
- `policies` (array): Optional exact policy records; declarations are separate from installed authority.

### `covenant_review__evidence` (~129 tokens)

Check supplied proofs

Check supplied proof envelopes against the supported installed verifiers and exact expectations. Check supplied proof envelopes with the supported installed verifiers. Read https://jupie202020.pythonanywhere.com/review-reference.json for item fields. Empty input reports no proofs supplied. A verified proof covers its exact statement and assumptions, not outside truth or execution permission.

Input parameters:

- `agreement_ids` (array, required): Exact agreement identifiers already verified separately; a supplied identifier alone does not prove assent.
- `items` (array, required): Supplied proof envelopes and exact verifier/context/statement expectations. Empty input means no proofs were supplied.

### `aap_public_listing_search` (~161 tokens)

Find public services

Find currently searchable service listings in this shared marketplace. Search this shared marketplace for current active INDEXED public listings. Only explicitly published fields are returned; PRIVATE and UNLISTED records are excluded, including from totals. Ranking matches the existing public listing API. Price, inventory, identity, performance and payment are not verified. No account, signing, publication or provider call.

Input parameters:

- `category` (string): Optional category filter; it does not broaden access to unlisted or private records.
- `limit` (integer): Maximum public results to return in this page; use the advertised bound.
- `offset` (integer): Zero-based offset into the current public result page.
- `query` (string): Optional words describing the service needed; searches only current public listings.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/covenant-common-covenant-aap/jupie202020#diagnostics

## Score history

- 2026-11-05: 71
- 2026-11-04: 71
- 2026-11-03: 70
- 2026-11-02: 67
- 2026-11-01: 66
- 2026-10-31: 66

## Common questions

### What is the Covenant AAP - hosted developer pilot MCP server?

Covenant AAP - hosted developer pilot is an MCP server listed in the public MCP registry as io.github.covenant-common/covenant-aap. Find services, draft exact terms and review agreements. Public tools; private account trials. This page covers its hosted endpoint (https://jupie202020.pythonanywhere.com/mcp).

### Is the Covenant AAP - hosted developer pilot MCP server safe to use?

Covenant AAP - hosted developer pilot scores 71 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 Covenant AAP - hosted developer pilot MCP server expose?

Covenant AAP - hosted developer pilot exposes 9 tools: covenant_marketplace__quick_trade, covenant_contract__draft, covenant_contract__inspect, covenant_contract__compare, covenant_contract__render, and 4 more. Their descriptions and schemas cost roughly 1,592 tokens of context every time the server is loaded.

### Does the Covenant AAP - hosted developer pilot MCP server require authentication?

No. We connected to Covenant AAP - hosted developer pilot without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Covenant AAP - hosted developer pilot MCP server still maintained?

Covenant AAP - hosted developer pilot 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 Covenant AAP - hosted developer pilot MCP server?

VerifyMCP ran 13 checks on Covenant AAP - hosted developer pilot, 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://jupie202020.pythonanywhere.com/mcp
- Website: https://covenant-common.github.io/covenant-docs/docs/START.html?source=mcp-registry
- Changelog RSS feed: https://verifymcp.io/servers/covenant-common-covenant-aap/jupie202020.xml
- Changelog JSON feed: https://verifymcp.io/servers/covenant-common-covenant-aap/jupie202020/changelog.json
- Trust report (JSON): https://verifymcp.io/servers/covenant-common-covenant-aap/jupie202020.json
- HTML version of this page: https://verifymcp.io/servers/covenant-common-covenant-aap/jupie202020
