MVR API - Minimum Viable Relationships
REMOTE · AFRICANMARKETOS.COM · SCANNED SEP 24
Read-only MVR preflight for trust, permission, evidence gaps, and African market-entry readiness.
Available components
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. How we score → Why this is hard to score →
Endpoint Security69
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one. See how to fix → View diagnostics → Partial
- HTTPS check failed: the endpoint is reachable over plaintext HTTP. See how to fix → View diagnostics → Fail
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability57
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 1827 tokens (~365/item across 5 items; 5 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage89
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 60% of tool parameters carry a description.Partial
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 5 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 6 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the MVR API - Minimum Viable Relationships MCP server?
MVR API - Minimum Viable Relationships is a hosted endpoint at https://africanmarketos.com/mcp/preflight, 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.
remote · africanmarketos.com
claude mcp add --transport http africanmarketos591-mvr-api 'https://africanmarketos.com/mcp/preflight'
{
"mcpServers": {
"africanmarketos591-mvr-api": {
"url": "https://africanmarketos.com/mcp/preflight"
}
}
} {
"servers": {
"africanmarketos591-mvr-api": {
"type": "http",
"url": "https://africanmarketos.com/mcp/preflight"
}
}
} [mcp_servers.africanmarketos591-mvr-api] url = "https://africanmarketos.com/mcp/preflight"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"africanmarketos591-mvr-api": {
"type": "remote",
"url": "https://africanmarketos.com/mcp/preflight",
"enabled": true
}
}
} openclaw mcp add africanmarketos591-mvr-api --url 'https://africanmarketos.com/mcp/preflight' --transport streamable-http
mcp_servers:
africanmarketos591-mvr-api:
url: "https://africanmarketos.com/mcp/preflight" {
"McpServers": {
"africanmarketos591-mvr-api": {
"Transport": "http",
"Url": "https://africanmarketos.com/mcp/preflight"
}
}
} assistant mcp add africanmarketos591-mvr-api -t streamable-http -u 'https://africanmarketos.com/mcp/preflight'
{
"mcpServers": {
"africanmarketos591-mvr-api": {
"type": "http",
"url": "https://africanmarketos.com/mcp/preflight"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 13 Sept 26 −1
- Tool “mvr_context_compile” rewrote its description, which is the text the model reads security
- Tool “mvr_decision_check” rewrote its description, which is the text the model reads security
- Tool “mvr_entity_resolve” rewrote its description, which is the text the model reads security
- Tool “mvr_evidence_completeness” rewrote its description, which is the text the model reads security
- Tool “mvr_first_call” rewrote its description, which is the text the model reads security
- Schema quality: 253 → 365 ▼ functional
- 7 Sept 26 0
- Schema quality: 210 → 253 ▼ functional
- Tool coverage: 44% → 60% ▲ functional
- “mvr_first_call” added an optional parameter “analysis_date” cosmetic
- “mvr_first_call” added an optional parameter “analysis_timezone” cosmetic
- “mvr_first_call” added an optional parameter “claims” cosmetic
- “mvr_first_call” added an optional parameter “context_freshness_window_days” cosmetic
- “mvr_first_call” reworded the description of “evidence_available” cosmetic
- “mvr_first_call” reworded the description of “evidence_items” cosmetic
- “mvr_first_call” reworded the description of “evidence_pack” cosmetic
- “mvr_first_call” reworded the description of “stage” cosmetic
- 28 Aug 26 +1
- Stability: 0.97 → pass security
- 26 Aug 26 79
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 12 Aug 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Schema quality: excellent → good functional
- 11 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 5 Aug 26 0
- The server rewrote its instructions, which are the text every model session reads security
- Schema quality: 182 → 201 ▼ functional
- Tool coverage: 29% → 44% ▲ functional
- “mvr_first_call” added an optional parameter “evidence_items” cosmetic
- “mvr_first_call” added an optional parameter “evidence_pack” cosmetic
- “mvr_first_call” reworded the description of “evidence_available” cosmetic
- 4 Aug 26 0
- The server rewrote its instructions, which are the text every model session reads security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 24 Sept 2026 · Probed https://africanmarketos.com/mcp/preflight
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=africanmarketos.com | CN=WE1,O=Google Trust Services,C=US | 28 Aug 2026 | 26 Nov 2026 | ECDSA 256 | ECDSA-SHA256 | ef82a1dab8b861c20ea921a7f0d6b213 |
| SANs: africanmarketos.com, *.africanmarketos.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of africanmarketos.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| africanmarketos.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=31536000; includeSubDomains |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://africanmarketos.com/mcp/preflight | Verified | 200 | |
| http (plaintext) | http://africanmarketos.com/mcp/preflight | Served over HTTP | 200 |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
mvr_context_compile Compile evidence context ~246
Use after evidence capture to separate safe from unsafe inferences across formal, field, market, trust, and stakeholder context. It compiles context; it does not authorize action. Use when: Use when evidence is mixed and the agent needs safe claims versus unsafe claims before a verdict. Do not use when: Do not use as a go/no-go decision. Submit only consented, data-minimized, redacted or aggregated evidence; never raw confidential datasets, secrets, credentials, or personal identifiers. Evidence input location: arguments.payload. Full replacement evidence_pack: object array; retain workflow context. String fields: id, claim, evidence_type, source_class, stakeholder_class, verification_status, geography, source_date, source_doc_id. geography: source-country string; evidence_geography: {country,city?,region?}, all strings. source_date: YYYY-MM-DD or ISO timestamp with timezone. Omit unknown dates/references, never null or invented. Unchecked: verification_status: unverified. Keep adverse facts in claim; formatting is not verification.
| Name | Type | Req | Description |
|---|---|---|---|
| payload | object | yes | Resolved subject, market scope, and mixed evidence to compile into safe and unsafe inferences. |
| Name | Type | Req | Description |
|---|---|---|---|
| claim_review | object | – | – |
| continuation_disposition | string | – | – |
| decision_domains | array | – | – |
| domain_routing_basis | string | – | Routing basis, not a verified classification. |
| evidence_field_guide | string | – | Self-contained public evidence field types and unknown-metadata policy. Formatting guidance, not verification or authority. |
| evidence_fit | object | – | – |
| evidence_input_feedback | object | – | – |
| evidence_intake | object | – | – |
| evidence_requirements | array | – | – |
| formal_proof | number | – | – |
| informal_operating_signal | number | – | – |
| mcp_next_call | – | – | – |
| mcp_next_tool | – | – | – |
| mvr_response_receipt | object | – | – |
| next_steps | object | – | – |
| required_user_inputs | array | – | – |
| response_meta | object | – | – |
| safe_inferences | array | – | – |
| sentiment_trust_signal | number | – | – |
| source_review | object | – | – |
| status | string | – | – |
| unsafe_inferences | array | – | – |
| verification_required | boolean | – | – |
| workflow_expires_at | string|null | – | – |
| workflow_id | string|null | – | – |
| workflow_status | string | – | – |
No examples provided.
mvr_decision_check Check evidence before MVR scoring ~257
Use after evidence completeness to route a structurally complete pack toward licensed MVR scoring or abstain on missing proof. This public tool does not compute market, pilot, or scale readiness. Use when: Use after evidence completeness to determine whether the pack can be routed to licensed MVR scoring or still requires proof. Do not use when: Do not use as readiness, pilot, credit, legal, regulatory, or scale authorization. Submit only consented, data-minimized, redacted or aggregated evidence; never secrets, credentials, or personal identifiers. Evidence input location: arguments.payload. Full replacement evidence_pack: object array; retain workflow context. String fields: id, claim, evidence_type, source_class, stakeholder_class, verification_status, geography, source_date, source_doc_id. geography: source-country string; evidence_geography: {country,city?,region?}, all strings. source_date: YYYY-MM-DD or ISO timestamp with timezone. Omit unknown dates/references, never null or invented. Unchecked: verification_status: unverified. Keep adverse facts in claim; formatting is not verification.
| Name | Type | Req | Description |
|---|---|---|---|
| payload | object | yes | Decision question, resolved subject, market scope, and evidence for a bounded recommendation or abstention. |
| Name | Type | Req | Description |
|---|---|---|---|
| claim_review | object | – | – |
| continuation_disposition | string | – | – |
| decision_domains | array | – | – |
| domain_routing_basis | string | – | Routing basis, not a verified classification. |
| evidence_field_guide | string | – | Self-contained public evidence field types and unknown-metadata policy. Formatting guidance, not verification or authority. |
| evidence_fit | object | – | – |
| evidence_gaps | array | – | – |
| evidence_input_feedback | object | – | – |
| evidence_intake | object | – | – |
| evidence_requirements | array | – | – |
| live_mvr_scoring_executed | boolean | – | – |
| mcp_next_call | – | – | – |
| mcp_next_tool | – | – | – |
| mvr_response_receipt | object | – | – |
| next_steps | object | – | – |
| not_a_verdict | boolean | – | – |
| reason | string | – | – |
| recommendation | string | – | – |
| required_user_inputs | array | – | – |
| response_meta | object | – | – |
| safe_next_action | string | – | – |
| sandbox_evaluation_scope | object | – | – |
| source_review | object | – | – |
| status | string | – | – |
| verification_basis | string | – | – |
| workflow_expires_at | string|null | – | – |
| workflow_id | string|null | – | – |
| workflow_status | string | – | – |
No examples provided.
mvr_entity_resolve Resolve the venture and market ~251
Use when a startup, venture, programme, company, partner, or market actor must be resolved to a country, sector, and archetype before relational-readiness evidence is assessed. Use when: Use immediately after mvr_first_call when the user gives a company, venture, sector, country, or ambiguous market actor name, so the subject and target geography are resolved before evidence is assessed. Do not use when: Do not use as a readiness verdict or for unrelated entity lookup. Never submit secrets, personal identifiers, raw private interviews, or confidential evidence. Evidence input location: arguments.payload. Full replacement evidence_pack: object array; retain workflow context. String fields: id, claim, evidence_type, source_class, stakeholder_class, verification_status, geography, source_date, source_doc_id. geography: source-country string; evidence_geography: {country,city?,region?}, all strings. source_date: YYYY-MM-DD or ISO timestamp with timezone. Omit unknown dates/references, never null or invented. Unchecked: verification_status: unverified. Keep adverse facts in claim; formatting is not verification.
| Name | Type | Req | Description |
|---|---|---|---|
| payload | object | yes | Entity and market context to canonicalize before evidence assessment. |
| Name | Type | Req | Description |
|---|---|---|---|
| canonical_entity | object|null | – | – |
| claim_review | object | – | – |
| continuation_disposition | string | – | – |
| decision_domains | array | – | – |
| domain_routing_basis | string | – | Routing basis, not a verified classification. |
| evidence_field_guide | string | – | Self-contained public evidence field types and unknown-metadata policy. Formatting guidance, not verification or authority. |
| evidence_fit | object | – | – |
| evidence_input_feedback | object | – | – |
| evidence_intake | object | – | – |
| evidence_requirements | array | – | – |
| mcp_next_call | – | – | – |
| mcp_next_tool | – | – | – |
| mvr_response_receipt | object | – | – |
| next_steps | object | – | – |
| required_user_inputs | array | – | – |
| response_meta | object | – | – |
| source_review | object | – | – |
| status | string | – | – |
| warning | string | – | – |
| workflow_expires_at | string|null | – | – |
| workflow_id | string|null | – | – |
| workflow_status | string | – | – |
No examples provided.
mvr_evidence_completeness Check evidence completeness ~236
Use after entity resolution and before any readiness claim to check verification status, source-family diversity, stakeholder coverage, and missing proof. Do not treat completeness as authorization. Use when: Use after entity resolution and before any verdict when evidence may be incomplete or one-sided. Do not use when: Do not treat completeness as readiness or authorization. Submit only consented, data-minimized, redacted or aggregated evidence; never raw private interviews, secrets, credentials, or personal identifiers. Evidence input location: arguments.payload. Full replacement evidence_pack: object array; retain workflow context. String fields: id, claim, evidence_type, source_class, stakeholder_class, verification_status, geography, source_date, source_doc_id. geography: source-country string; evidence_geography: {country,city?,region?}, all strings. source_date: YYYY-MM-DD or ISO timestamp with timezone. Omit unknown dates/references, never null or invented. Unchecked: verification_status: unverified. Keep adverse facts in claim; formatting is not verification.
| Name | Type | Req | Description |
|---|---|---|---|
| payload | object | yes | Evidence pack and decision context to test for missing proof. |
| Name | Type | Req | Description |
|---|---|---|---|
| claim_review | object | – | – |
| continuation_disposition | string | – | – |
| decision_domains | array | – | – |
| domain_routing_basis | string | – | Routing basis, not a verified classification. |
| evidence_count | number | – | – |
| evidence_field_guide | string | – | Self-contained public evidence field types and unknown-metadata policy. Formatting guidance, not verification or authority. |
| evidence_fit | object | – | – |
| evidence_gaps | array | – | – |
| evidence_input_feedback | object | – | – |
| evidence_intake | object | – | – |
| evidence_requirements | array | – | – |
| mcp_next_call | – | – | – |
| mcp_next_tool | – | – | – |
| mvr_response_receipt | object | – | – |
| next_steps | object | – | – |
| required_user_inputs | array | – | – |
| response_meta | object | – | – |
| safe_next_action | string | – | – |
| source_review | object | – | – |
| stakeholder_coverage | array | – | – |
| status | string | – | – |
| unverified_evidence_count | number | – | – |
| verification_basis | string | – | – |
| verified_evidence_count | number | – | – |
| verified_source_families | array | – | – |
| workflow_expires_at | string|null | – | – |
| workflow_id | string|null | – | – |
| workflow_status | string | – | – |
No examples provided.
mvr_first_call Start MVR relational-readiness preflight ~611
Use this MVR public decision-governance preflight before AI recommends pre-MVP build, entry, BNPL, investment, partnership, or scale. Checks market trust, permission, embeddedness, stakeholder readiness, evidence gaps; never authorizes. Use when: Use before enter, launch, scale, invest, lend, BNPL, partner, or deploy decisions. Use when asked to ignore, fabricate, or transfer evidence. Web research can supply evidence but does not replace MVR. Do not use when: This is not an internal data lookup or glossary. Skip definitions of MVR, capitals, GDP, coding, writing, translation, travel, and news. Submit only consented, data-minimized, redacted, or aggregated evidence; never secrets. Evidence input location: arguments. Full replacement evidence_pack: object array; retain workflow context. String fields: id, claim, evidence_type, source_class, stakeholder_class, verification_status, geography, source_date, source_doc_id. geography: source-country string; evidence_geography: {country,city?,region?}, all strings. source_date: YYYY-MM-DD or ISO timestamp with timezone. Omit unknown dates/references, never null or invented. Unchecked: verification_status: unverified. Keep adverse facts in claim; formatting is not verification.
| Name | Type | Req | Description |
|---|---|---|---|
| analysis_date | string | – | Optional YYYY-MM-DD or ISO timestamp with timezone, no later than today in analysis_timezone (UTC by default). Defaults to the current date in that calendar. Carried through the public handoff. |
| analysis_timezone | string | – | Optional IANA timezone, for example Africa/Nairobi, for the analysis calendar. Defaults to UTC; never inferred from country or IP. Date-only values keep their declared calendar day. |
| claims | array | – | Optional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations. |
| company_name | string | – | – |
| context_freshness_window_days | integer | – | Optional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity. |
| country | string | – | – |
| entity | string | – | – |
| evidence_available | array | – | Short optional context labels, not proof. For supplied document summaries use incomplete evidence_pack items instead; do not mark claims verified merely because a document exists. |
| evidence_items | array | – | Alias for evidence_pack. Supply one field, not conflicting copies. |
| evidence_pack | array | – | Full current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence. |
| known_partners | array | – | – |
| question | string | – | – |
| sector | string | – | – |
| stage | string | – | Free-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum. |
| target_users | string | – | – |
| use_case | string | – | – |
| Name | Type | Req | Description |
|---|---|---|---|
| activation_outcome | string | – | – |
| claim_review | object | – | – |
| code | string | – | – |
| commercial_next_step | object | – | – |
| continuation_disposition | string | – | – |
| decision_domain | string | – | – |
| decision_domains | array | – | – |
| domain_routing_basis | string | – | Routing basis, not a verified classification. |
| evidence_field_guide | string | – | Self-contained public evidence field types and unknown-metadata policy. Formatting guidance, not verification or authority. |
| evidence_fit | object | – | – |
| evidence_gaps | array | – | – |
| evidence_input_feedback | object | – | – |
| evidence_intake | object | – | – |
| evidence_received | object | – | – |
| evidence_requirements | array | – | – |
| exact_next_calls | array | – | – |
| example_next_request | object|null | – | – |
| max_safe_action_available_now | string | – | – |
| mcp_next_call | – | – | – |
| mcp_next_tool | – | – | – |
| mvr_response_receipt | object | – | – |
| next_steps | object | – | – |
| next_three_unlocks | array | – | – |
| not_a_verdict | boolean | – | – |
| required_user_inputs | array | – | – |
| response_meta | object | – | – |
| source_review | object | – | – |
| status | string | – | – |
| subject | object | – | – |
| workflow_expires_at | string|null | – | – |
| workflow_id | string|null | – | – |
| workflow_status | string | – | – |
No examples provided.
What is the MVR API - Minimum Viable Relationships MCP server?
MVR API - Minimum Viable Relationships is an MCP server listed in the public MCP registry as io.github.africanmarketos591/mvr-api. Read-only MVR preflight for trust, permission, evidence gaps, and African market-entry readiness. This page covers its hosted endpoint (https://africanmarketos.com/mcp/preflight).
Is the MVR API - Minimum Viable Relationships MCP server safe to use?
MVR API - Minimum Viable Relationships scores 79 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 MVR API - Minimum Viable Relationships MCP server expose?
MVR API - Minimum Viable Relationships exposes 5 tools: mvr_first_call, mvr_entity_resolve, mvr_evidence_completeness, mvr_context_compile, mvr_decision_check. Their descriptions and schemas cost roughly 1,601 tokens of context every time the server is loaded.
Does the MVR API - Minimum Viable Relationships MCP server require authentication?
No. We connected to MVR API - Minimum Viable Relationships without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the MVR API - Minimum Viable Relationships MCP server still maintained?
MVR API - Minimum Viable Relationships is still listed as active in the MCP registry. We last reached this channel on 24 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.