Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

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.

0 this week 79 Trust /100
Trust breakdown (7 categories)

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
Transport & Reachability100
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
Install

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

# add to Claude Code
claude mcp add --transport http africanmarketos591-mvr-api 'https://africanmarketos.com/mcp/preflight'
// .cursor/mcp.json
{
  "mcpServers": {
    "africanmarketos591-mvr-api": {
      "url": "https://africanmarketos.com/mcp/preflight"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "africanmarketos591-mvr-api": {
      "type": "http",
      "url": "https://africanmarketos.com/mcp/preflight"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.africanmarketos591-mvr-api]
url = "https://africanmarketos.com/mcp/preflight"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "africanmarketos591-mvr-api": {
      "type": "remote",
      "url": "https://africanmarketos.com/mcp/preflight",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add africanmarketos591-mvr-api --url 'https://africanmarketos.com/mcp/preflight' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  africanmarketos591-mvr-api:
    url: "https://africanmarketos.com/mcp/preflight"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "africanmarketos591-mvr-api": {
      "Transport": "http",
      "Url": "https://africanmarketos.com/mcp/preflight"
    }
  }
}
# add to Vellum
assistant mcp add africanmarketos591-mvr-api -t streamable-http -u 'https://africanmarketos.com/mcp/preflight'
// mcp.json
{
  "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.

Changelog

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
Diagnostics

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
MCP tools · 5 exposed · ~1,601 tokens

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 →

Tool Tokens
mvr_context_compile ~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.

NameTypeReqDescription
payloadobjectyesResolved subject, market scope, and mixed evidence to compile into safe and unsafe inferences.
NameTypeReqDescription
claim_reviewobject
continuation_dispositionstring
decision_domainsarray
domain_routing_basisstringRouting basis, not a verified classification.
evidence_field_guidestringSelf-contained public evidence field types and unknown-metadata policy. Formatting guidance, not verification or authority.
evidence_fitobject
evidence_input_feedbackobject
evidence_intakeobject
evidence_requirementsarray
formal_proofnumber
informal_operating_signalnumber
mcp_next_call
mcp_next_tool
mvr_response_receiptobject
next_stepsobject
required_user_inputsarray
response_metaobject
safe_inferencesarray
sentiment_trust_signalnumber
source_reviewobject
statusstring
unsafe_inferencesarray
verification_requiredboolean
workflow_expires_atstring|null
workflow_idstring|null
workflow_statusstring

No examples provided.

mvr_decision_check ~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.

NameTypeReqDescription
payloadobjectyesDecision question, resolved subject, market scope, and evidence for a bounded recommendation or abstention.
NameTypeReqDescription
claim_reviewobject
continuation_dispositionstring
decision_domainsarray
domain_routing_basisstringRouting basis, not a verified classification.
evidence_field_guidestringSelf-contained public evidence field types and unknown-metadata policy. Formatting guidance, not verification or authority.
evidence_fitobject
evidence_gapsarray
evidence_input_feedbackobject
evidence_intakeobject
evidence_requirementsarray
live_mvr_scoring_executedboolean
mcp_next_call
mcp_next_tool
mvr_response_receiptobject
next_stepsobject
not_a_verdictboolean
reasonstring
recommendationstring
required_user_inputsarray
response_metaobject
safe_next_actionstring
sandbox_evaluation_scopeobject
source_reviewobject
statusstring
verification_basisstring
workflow_expires_atstring|null
workflow_idstring|null
workflow_statusstring

No examples provided.

mvr_entity_resolve ~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.

NameTypeReqDescription
payloadobjectyesEntity and market context to canonicalize before evidence assessment.
NameTypeReqDescription
canonical_entityobject|null
claim_reviewobject
continuation_dispositionstring
decision_domainsarray
domain_routing_basisstringRouting basis, not a verified classification.
evidence_field_guidestringSelf-contained public evidence field types and unknown-metadata policy. Formatting guidance, not verification or authority.
evidence_fitobject
evidence_input_feedbackobject
evidence_intakeobject
evidence_requirementsarray
mcp_next_call
mcp_next_tool
mvr_response_receiptobject
next_stepsobject
required_user_inputsarray
response_metaobject
source_reviewobject
statusstring
warningstring
workflow_expires_atstring|null
workflow_idstring|null
workflow_statusstring

No examples provided.

mvr_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.

NameTypeReqDescription
payloadobjectyesEvidence pack and decision context to test for missing proof.
NameTypeReqDescription
claim_reviewobject
continuation_dispositionstring
decision_domainsarray
domain_routing_basisstringRouting basis, not a verified classification.
evidence_countnumber
evidence_field_guidestringSelf-contained public evidence field types and unknown-metadata policy. Formatting guidance, not verification or authority.
evidence_fitobject
evidence_gapsarray
evidence_input_feedbackobject
evidence_intakeobject
evidence_requirementsarray
mcp_next_call
mcp_next_tool
mvr_response_receiptobject
next_stepsobject
required_user_inputsarray
response_metaobject
safe_next_actionstring
source_reviewobject
stakeholder_coveragearray
statusstring
unverified_evidence_countnumber
verification_basisstring
verified_evidence_countnumber
verified_source_familiesarray
workflow_expires_atstring|null
workflow_idstring|null
workflow_statusstring

No examples provided.

mvr_first_call ~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.

NameTypeReqDescription
analysis_datestringOptional 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_timezonestringOptional 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.
claimsarrayOptional explicit target claims and source-specific support links. Reuses the governed claim-audit vocabulary. Public links are caller declarations, never authenticated reviewer attestations.
company_namestring
context_freshness_window_daysintegerOptional caller-declared maximum evidence age in days. No universal freshness cutoff is invented when absent; age alone does not prove validity.
countrystring
entitystring
evidence_availablearrayShort 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_itemsarrayAlias for evidence_pack. Supply one field, not conflicting copies.
evidence_packarrayFull current evidence pack. Rechecks replace the pack; the server does not append or retrieve evidence.
known_partnersarray
questionstring
sectorstring
stagestringFree-text venture stage, for example pre-MVP, pilot, grant-funded programme or scaling. No closed enum.
target_usersstring
use_casestring
NameTypeReqDescription
activation_outcomestring
claim_reviewobject
codestring
commercial_next_stepobject
continuation_dispositionstring
decision_domainstring
decision_domainsarray
domain_routing_basisstringRouting basis, not a verified classification.
evidence_field_guidestringSelf-contained public evidence field types and unknown-metadata policy. Formatting guidance, not verification or authority.
evidence_fitobject
evidence_gapsarray
evidence_input_feedbackobject
evidence_intakeobject
evidence_receivedobject
evidence_requirementsarray
exact_next_callsarray
example_next_requestobject|null
max_safe_action_available_nowstring
mcp_next_call
mcp_next_tool
mvr_response_receiptobject
next_stepsobject
next_three_unlocksarray
not_a_verdictboolean
required_user_inputsarray
response_metaobject
source_reviewobject
statusstring
subjectobject
workflow_expires_atstring|null
workflow_idstring|null
workflow_statusstring

No examples provided.

Common questions

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.