durinMCP IndexSuggest Provider

MCP Security Index methodology

A reproducible framework for comparing demonstrated safeguards, approval flows and advisory response across MCP providers.

Version 2Durin
Dated edition

Abstract

The Durin MCP Security Index compares attributable security evidence for a stated MCP configuration. Version 2 evaluates independently evidenced subcriteria inside fixed weighted criteria. It reports a baseline score, the coverage and strength of the evidence, and independent advisory or capability findings. Stripe remains a reference implementation; it receives credit only for checks supported by its own evidence.

A high score means the applicable baseline is supported by evidence. It is not a probability of safety, a certification, or proof that every deployed operation enforces the documented controls. Assessments are deterministic: collection, matching, scoring and ranking make no language-model calls.

Scope and units of comparison

The unit of assessment is a resolved MCP identity and its observed package release or endpoint scope. Providers are ranked within deployment cohorts because hosted services, installable packages and bridges expose different evidence. Functional categories such as productivity or identity support discovery; they do not change security scores or cohort ranks.

The MCP specification describes tools as model-controlled and recommends a human decision point for tool invocations. CoSAI identifies access control, tool design, human oversight and lifecycle governance as security concerns. The index adapts these themes into its own evidence requirements; the numerical weights are Durin policy. [2] [1]

Table 1. Assessment cohorts
CohortAssessment unitEvidence boundary
Hosted servicesA public HTTPS endpoint and its stated configurationService documentation, transport and authorization metadata. Deployed server code may be inaccessible.
Local packagesAn exact registry package releaseRegistry identity, artifact metadata, published advisories and attributable documentation. Package code is not executed.
MCP bridgesA bridge package and its connection modelPackage evidence and declared mediation or execution-host controls. A bridge does not establish the safeguards of every upstream service.

Ranks are comparable within a cohort and assessment policy. A category filter preserves the original cohort ranks.

Evidence, uncertainty and confidence

Evidence is attached to an identity, a stable control ID, a source and an observation time. A criterion's freshness window determines when its evidence expires. Attributed documentation can establish a declared capability, while runtime verification requires evidence appropriate to that control. One does not silently become the other.

SLSA provenance concerns verifiable information about how an artifact was produced. The index distinguishes registry digests and provenance metadata from independent verification of their claims. Metadata inspection does not execute the artifact or establish the security of its behavior. [4]

MCP security guidance addresses authorization context, token handling and scope minimization. In this index, published OAuth and identity metadata establish observable configuration; they do not validate every runtime access decision. [3]

Missing mandatory evidence, an incomplete or expired assessment, active compromise, an unresolved affected release or insufficient assessed weight can prevent ranking. At least 20 category-budget units must have evidence. Confidence and evidence coverage are reported separately from the baseline score; a failed or partial required check cannot establish that there are no known findings.

Table 2. Evidence states and their treatment
StateMeaningScoring treatment
VerifiedEvidence satisfies the verification requirement of the control.Uses the control's verified credit. Timed advisory credit also requires remediation evidence.
Documented onlyAn attributable source describes a capability; deployed enforcement has not been independently established.Earns the control's documented credit. The baseline can accept full documentation credit; advanced controls can require stronger evidence.
UnknownEvidence is missing, inaccessible, incomplete or expired.Earns zero. Applicable baseline points remain in the denominator.
FailedEvidence demonstrates that the control is not met.Earns zero. The finding remains visible.
Not applicableThe criterion explicitly permits exclusion for this configuration.Excluded from applicable points. Unsupported exclusions become unknown.

The control catalog gives the exact documented and verified credit rules. These states describe evidence, not an overall security verdict.

Independent subcriteria and weighted credit

One criterion is one real safeguard with a stable control ID and a fixed point budget. Its independent subcriteria have descriptive check IDs, explicit evidence requirements and weights that sum to the parent budget. For example, the 24-point human-approval criterion assigns 8 points each to an identified human review interface, explicitly covered sensitive actions and an approval decision independent of the agent or client prompt. These are three distinct checks, not 24 repetitions of the same result. [2] [5]

Each subcriterion is evaluated using its own evidence key, source, state and observation time. A legacy parent pass, a sibling pass or an old one-point allocation cannot satisfy another check. A missing, unreadable, stale or future-dated observation earns no credit. Metadata checks establish precisely the advertised field or observed HTTP result named by the check. They do not establish runtime token, tenant or scope enforcement. [7]

Weighted credit is the sum of each applicable subcriterion weight multiplied by its earned fraction. Unknown and failed checks contribute zero. Not-applicable evidence needs an explicit reviewed determination permitted by the criterion. Documentation can establish a capability at the parent policy rate; checks requiring an authorized runtime test receive zero documentation credit. Atomic criteria such as advisory response and release age remain single checks rather than being split artificially.

The existing category budgets, parent weights, scored roster, confidence thresholds and minimum evidence floor are retained. The baseline revision changes how parent credit is established, so scores can change materially when previously bundled evidence does not satisfy every independent check. Version 1 assessments remain intact and are not compared as rank movement against Version 2. New criteria still require explicit budget admission and a versioned policy; adding catalog observations alone cannot change rankings.

Independent assessment of the human-approval criterion
CheckWeightEvidence required
Human review interface8First-party instructions identify the person and provider or execution-host review interface.
Covered sensitive actions8Action-specific approval coverage is explicitly identified.
Independent approval gate8The provider or host decision is distinguished from an agent flag or client tool prompt.

A full documented result totals 24/24. Bypass resistance, parameter binding and runtime expiry remain separate advanced checks.

Scoring model and stability

For each category, earned baseline credit is divided by applicable baseline points, including unknown requirements at zero credit. The effective category weight is the smaller of its fixed budget and its applicable baseline points. The index normalizes the weighted category credits to a score from 0 to 100. Criterion credit is represented in thousandths, and the final score is rounded to the nearest integer.

In notation: effective weight = min(category budget, applicable baseline points); category credit = earned baseline points / applicable baseline points; score = round(100 × sum(effective weight × category credit) / sum(effective weight)). A category with no applicable points contributes no weight.

For a simple illustrative case with all 100 budget units applicable, unknown approval evidence earns zero of the 30 approval units. If every other category earns full credit, the resulting score is 70, assuming all other ranking requirements are met. Real configurations can have a different applicable denominator.

New criteria begin as observations outside the scored roster. Adding them does not change existing scores, scored confidence or ranks, although total catalog coverage changes. Promotion into scoring requires versioned review: existing weights and budgets remain fixed, the 20-unit evidence floor remains, and newly admitted weight must bound movement for already-graded providers to five points. A larger recalibration requires a new baseline edition.

Table 3. Fixed category budgets
CategoryMaximum budgetAssessment focus
Human approval30Independent confirmation for named sensitive actions, plus expiry of pending approval requests.
Least privilege20Scoped capabilities and access, with effective revocation and appropriate separation of authority.
Authentication15Attributable identities, secure authorization and protection of credentials and authorization context.
Supply chain15Exact release identity, artifact integrity and attributable provenance evidence.
Audit and recovery10Traceable activity and documented ways to revoke, recover or investigate.
Maintenance10Current advisory evidence, confirmed remediation and applicable release-maintenance observations.

Budgets, the evidence floor and promotion limits are Durin policy. They are not weights prescribed by MCP, CoSAI, SLSA or OSV.

Independent human approval

The baseline allocates 24 points to an independent approval flow for named sensitive actions and 6 points to request expiry. Attributable provider or execution-host documentation can meet this capability baseline. An agent-controlled approval flag, an ordinary client tool prompt or initial OAuth consent is not sufficient for this control.

Stripe documents Dashboard review for selected actions, independently of the client's tool-approval setting. Unapproved requests expire after 24 hours. Confirmation depends on the action: a generic write tool can also perform actions outside that approval flow. This is the reference capability, not a claim that every Stripe mutation requires human review. [5]

CoSAI discusses managed host confirmation and server-requested user confirmation as approaches to human oversight. The index recognizes attributable provider and host flows. Exact-action binding, bypass resistance and stronger enforcement assurance remain distinct advanced controls, visible outside the baseline score. [1]

Advisories and remediation timing

Advisories match a resolved package version or endpoint scope. OSV represents affected version ranges with events such as introduction and a fixed release; the presence of a reported fixed version is not evidence that a provider has deployed it. Remediation timing begins at the first attributable public disclosure and ends at a confirmed fixed release publication or reviewed incident end time. [6]

MCP-MNT-002 has four points. A complete, current advisory check with no matching advisory earns full credit. When advisories do match, the worst confirmed remediation latency determines credit. Missing timing evidence stays unknown, while an active affected release earns no credit for this criterion and affects ranking eligibility. Affected providers are checked hourly; this check's evidence expires after two hours without confirmation.

Table 4. Advisory-handling credit
ObservationCriterion creditPoints out of 4
Complete check; no matching advisory100%4
Confirmed remediation within 24 hours100%4
More than 24 hours, within 7 days75%3
More than 7 days, within 30 days25%1
More than 30 days, or still affected0%0

These timing bands are Durin policy. An import timestamp, healthy endpoint response or reported fixed version alone does not establish remediation.

Catch-all execution as an independent finding

A catch-all red flag identifies an advertised generic execution surface: code, shell commands, unrestricted SQL, dispatch or generic requests. Detection uses inspected tool schemas or configured first-party documentation. Constrained enumerations do not trigger this rule; unavailable or partial inventories remain unknown unless an attributable source independently establishes the capability. Collection never invokes the tools.

CoSAI identifies overly permissive tool capabilities as a security boundary concern. The index treats this as a capability finding, independent of vulnerability advisories and baseline points. A documented approval flow and a catch-all red flag can therefore coexist. Stripe's generic API write tool illustrates why the two observations must remain separate. [1] [5]

Interpretation and limitations

The index describes demonstrated safeguards for a stated configuration at an observation time. First-party claims do not verify all production settings, and unauthenticated metadata does not establish authorization enforcement on every action. Hosted code, authenticated tool inventories and tenant-specific policies can be unavailable. Such gaps remain explicit rather than being filled by inference.

A complete advisory collection with no match is a bounded observation, not proof that no undisclosed vulnerability exists. Package code is not executed, prompt-injection resistance is not inferred from metadata, and functional categories are not risk ratings. Operators should read the control evidence, affected versions and independent findings alongside the score.

Dated editions preserve the methodology text, control definitions, point rules, checks, taxonomy and references used at release. The undated URL points to the current edition. Historical assessments retain their original calculation policy; this publication does not rewrite previous scores or make different baselines directly comparable.

Deterministic checks

Checks describe what collection can establish. Unsupported observations remain explicit. A release waiting period is not a security verdict, and unavailable hosted code is not assumed to be safe.

Table 5. Identity, release and advisory checks
Check IDApplies toRequirementObservation
identity_resolvedpackage, hostedRequiredThe MCP resolves to an exact package release or a public HTTPS endpoint scope.
artifact_integritypackageRequiredThe registry supplies an artifact digest for the exact release.
advisory_matchpackage, hostedRequiredPublished Durin advisories are matched against the exact release or endpoint scope.
release_agepackageInformationalThe release is older than the configured waiting period. Age is a waiting period, not a verdict.
install_scriptspackageInformationalInstall-time scripts are reported as a review signal.
dependency_graphpackageInformationalResolved transitive dependency assessment (later capability).
remote_transporthostedRequiredThe configured endpoint uses HTTPS on a public origin.
deployed_codehostedInformationalHosted deployed code is not visible; reported as unsupported rather than assumed.

Assessment validity: 7 days. Release waiting period: 60 minutes.

Table 6. Additional evidence and capability checks
Check IDScopeObservation
public_documentationPackages and hosted servicesFetches configured first-party pages with bounded requests and matches reviewed phrase rules. Permission, revocation and approval claims receive documented-only credit. Unavailable statements become unknown; documentation does not renew runtime verification.
human_approvalPackages and hosted servicesRecognizes attributed server confirmation, execution-host permission policies, application review and held human workflows for named sensitive actions. Ordinary client prompts, annotations and OAuth consent do not qualify. Expiry is assessed separately.
advisory_remediation_hourlyKnown affected releases and hosted incidentsRefreshes known affected releases and checks fixed-version publication or reviewed incident end times every hour. Missing evidence stays unknown.
catch_all_executionInspectable inventories or configured documentationInspects advertised names and unconstrained inputs for generic code, command, SQL, dispatch or request capabilities. Protected or incomplete inventories remain unknown unless first-party documentation independently declares the capability. Tools are not executed.

Appendix A. Control catalog

Control IDs identify the same safeguard across providers. Baseline controls contribute to the score; advanced assurance remains visible outside it. Each criterion has a fixed weight. Independent subcriteria have distinct evidence requirements and contribute their stated share; atomic criteria retain one evidence check. Historical editions preserve their original allocations.

Hosted services

Table A0. Evidence confidence thresholds
ConfidenceMinimum evidence coverageMinimum verified share
high80%50%
medium50%20%
low0%0%

Coverage and verified share use applicable baseline points. Confidence describes evidence, not a probability of safety.

MCP-APR-001Does the provider or trusted execution host offer independent human approval for named sensitive actions?

Baseline24 possible points

Baseline: attributed first-party documentation describes an independent human approval flow for named sensitive actions, separate from an agent-controlled flag or ordinary client tool prompt. Stripe documents Dashboard confirmation for selected actions. This does not claim every mutation requires approval or that bypass resistance was tested.

Table A1. MCP-APR-001 point allocation
Control or check IDEvidence requirementWeight
MCP-APR-001/HUMAN_REVIEWIs there an identified human review interface? First-party instructions identify a human reviewer and a provider or execution-host review interface, such as a dashboard or approval URL. A client tool prompt alone does not qualify.8
MCP-APR-001/COVERED_ACTIONSAre the sensitive actions covered by approval explicitly identified? Documentation identifies action-specific approval coverage, with named sensitive actions or explicit action-level confirmation markers. A general recommendation to enable approvals is insufficient.8
MCP-APR-001/INDEPENDENT_GATEIs approval independent of the agent and its client prompt? Documentation explicitly distinguishes the provider or trusted execution-host approval decision from an agent flag or ordinary MCP client prompt. This does not establish tested bypass resistance.8

MCP-APR-002Is a confirmation bound to the exact action, recipient and amount, so it cannot be changed after approval?

Advanced assurance8 possible points

Checks whether approval is bound to the exact action and its resources, recipient and amount. Changing the action after approval must invalidate it. This needs an authorized sandbox or attributed reviewed evidence.

Table A2. MCP-APR-002 point allocation
Control or check IDEvidence requirementWeight
MCP-APR-002/ACTION_TARGET_BINDINGDoes approval bind the action and target? An attributed authorized test changes the operation or target after approval and confirms refusal with no side effect.4
MCP-APR-002/PARAMETER_BINDINGDoes approval bind sensitive parameters? An attributed authorized test changes recipient, amount or another sensitive parameter after approval and confirms refusal with no side effect.4

MCP-APR-003Can the agent avoid confirmation by self-approving, setting a flag, replaying an approval or using an alternate write path?

Advanced assurance6 possible points

Checks whether self-approval, agent-controlled flags, replay and alternate mutation paths can bypass confirmation. A verified control resists those attempts. The index does not infer this from a tool description.

Table A3. MCP-APR-003 point allocation
Control or check IDEvidence requirementWeight
MCP-APR-003/SELF_APPROVALIs agent self-approval refused? An authorized test attempts to approve with the requesting agent identity or an agent-controlled flag and records refusal.2
MCP-APR-003/REPLAYIs approval replay refused? An authorized test reuses a consumed approval token and confirms the operation cannot execute again.2
MCP-APR-003/ALTERNATE_PATHDo alternate write paths retain the approval gate? An authorized test attempts an equivalent mutation through a different tool or API path and confirms approval is still required.2

MCP-APR-004Are denied, expired and revoked approvals refused with no effect?

Advanced assurance4 possible points

Checks that denied, expired and revoked approvals cause no side effect. Verification needs an authorized sandbox or reviewed evidence of those outcomes.

Table A4. MCP-APR-004 point allocation
Control or check IDEvidence requirementWeight
MCP-APR-004/DENIED_REQUESTDoes denial prevent execution? An authorized test denies the request and confirms no downstream effect.2
MCP-APR-004/EXPIRED_REQUESTDoes expiry prevent execution? An authorized test retries an expired approval and confirms no downstream effect.1
MCP-APR-004/REVOKED_REQUESTDoes approval revocation prevent execution? An authorized test revokes an outstanding approval and confirms no downstream effect.1

MCP-APR-005Do unapproved sensitive-action requests expire within 24 hours?

Baseline6 possible points

Baseline: the provider or trusted execution host documents that pending sensitive-action approval requests expire within 24 hours without approval, matching Stripe. Documentation establishes the capability; runtime refusal after expiry remains independently testable.

Table A5. MCP-APR-005 point allocation
Control or check IDEvidence requirementWeight
MCP-APR-005/PENDING_EXPIRYDo unapproved requests expire? Documentation ties expiry to an outstanding human approval request; OAuth session or access-token expiry alone is insufficient.3
MCP-APR-005/BOUNDED_LIFETIMEIs the approval deadline at most 24 hours? Documentation states a positive approval-request lifetime no greater than 24 hours. The collector parses the numeric duration; runtime enforcement is a separate advanced check.3

MCP-PRV-001Can access be limited to narrow, named permissions?

Baseline20 possible points

Collects published OAuth scope metadata where available. Multiple advertised scopes establish documentation, not enforcement. Verifying narrow permissions on actual privileged operations requires an authorized account or reviewed evidence.

Table A6. MCP-PRV-001 point allocation
Control or check IDEvidence requirementWeight
MCP-PRV-001/PERMISSION_INVENTORYAre named limited permissions available? Protected-resource metadata advertises multiple OAuth scopes, or first-party documentation names configurable permissions. This establishes available scopes, not runtime denial.10
MCP-PRV-001/PERMISSION_SELECTIONCan access be restricted when connecting the MCP? Instructions describe selecting or limiting scopes, permissions or roles for the MCP connection, including per-account or environment configuration.10

MCP-PRV-002Is a read-only mode or tool subset available and enforced?

Advanced assurance6 possible points

Checks for an enforced read-only mode or explicit tool subset. A documented option can earn limited credit; proving writes are refused requires an authorized sandbox or reviewed evidence.

Table A7. MCP-PRV-002 point allocation
Control or check IDEvidence requirementWeight
MCP-PRV-002/READ_ONLY_CONFIGURATIONIs a read-only configuration offered? First-party instructions describe how to configure the MCP or its execution host for read-only access.3
MCP-PRV-002/WRITE_REFUSALAre writes refused in read-only mode? An authorized test enables the documented read-only configuration and confirms a mutation is denied without side effects.3

MCP-PRV-003Are files, processes, network and accounts bounded to the configured resources?

Advanced assurance6 possible points

Checks whether file access, process execution, network access and connected accounts stay within configured resources. These boundaries require reviewed configuration and controlled tests; metadata alone does not establish enforcement.

Table A8. MCP-PRV-003 point allocation
Control or check IDEvidence requirementWeight
MCP-PRV-003/FILESYSTEM_BOUNDARYAre filesystem boundaries enforced? Authorized traversal and symlink tests cannot access a path outside the configured allowed roots. Inapplicability requires explicit reviewed evidence.2
MCP-PRV-003/NETWORK_BOUNDARYAre network destinations restricted? An authorized test attempts an out-of-policy destination and confirms refusal.2
MCP-PRV-003/ACCOUNT_BOUNDARYAre account or workspace boundaries enforced? An authorized test attempts an out-of-scope account or workspace operation and confirms refusal.2

MCP-AUT-001Is a standard sign-in and authorization flow available and discoverable?

Baseline6 possible pointsRequired to rank

Baseline: public authorization discovery and an unauthenticated refusal identify an offered standard sign-in flow. Metadata verification does not establish enforcement on every operation.

Table A9. MCP-AUT-001 point allocation
Control or check IDEvidence requirementWeight
MCP-AUT-001/UNAUTHENTICATED_REFUSALIs unauthenticated initialization refused? The configured remote endpoint returns HTTP 401 to an MCP initialize request made without credentials. A successful unauthenticated initialization fails this check; timeouts remain unknown.2
MCP-AUT-001/OAUTH_DISCOVERYDoes protected-resource metadata identify an authorization server? A fetched protected-resource metadata document identifies at least one authorization server. This verifies discoverability, not token issuance or runtime authorization.2
MCP-AUT-001/PKCE_S256Does authorization-server metadata advertise PKCE S256? Fetched authorization-server metadata advertises S256 code challenges. This verifies the declaration, not a completed OAuth flow.2

MCP-AUT-002Is the intended service audience or account and environment scope declared?

Baseline5 possible points

Baseline: attributed documentation or protected-resource metadata declares the intended service audience or account and environment boundary. Wrong-audience rejection and authorization on every operation require additional assurance evidence.

Table A10. MCP-AUT-002 point allocation
Control or check IDEvidence requirementWeight
MCP-AUT-002/RESOURCE_IDENTIFIERDoes the OAuth resource identifier match this endpoint? The protected-resource identifier has the same URL origin and a path-segment boundary containing the configured endpoint. String-prefix collisions do not qualify.3
MCP-AUT-002/TENANT_SCOPEIs account, tenant or environment scoping described? First-party instructions specify which account, tenant, workspace or environment a connection or credential can access. Wrong-tenant enforcement requires an authorized test.2

MCP-AUT-003Is delegated agent authentication documented without sharing a personal long-lived key?

Baseline4 possible points

Baseline: the provider documents delegated OAuth or an equivalent constrained agent-authentication option. This establishes an offered capability, not that every configuration avoids long-lived credentials or that logs were inspected.

Table A11. MCP-AUT-003 point allocation
Control or check IDEvidence requirementWeight
MCP-AUT-003/DELEGATED_AUTHENTICATIONIs delegated authentication available? The endpoint refuses unauthenticated initialization and publishes an OAuth authorization server, or first-party instructions explicitly describe delegated MCP OAuth authentication. This does not establish safe storage.2
MCP-AUT-003/CONSTRAINED_CREDENTIALSAre credentials constrained to the access needed? Instructions describe restricting agent credentials, short-lived tokens or selected scopes instead of giving the agent an unrestricted personal secret.2

MCP-SUP-001Is an attributed publisher identity available for the endpoint?

Baseline9 possible pointsRequired to rank

Baseline: a registry-verified namespace or attributed reviewed provider catalog identifies the endpoint publisher. Evidence retains its verified or documented-only label; a familiar name or popularity alone does not establish ownership.

Table A12. MCP-SUP-001 point allocation
Control or check IDEvidence requirementWeight
MCP-SUP-001/PUBLISHER_ATTRIBUTIONIs a publisher explicitly attributed? The resolved identity includes a named publisher with attributed identity evidence. A name alone is insufficient.4
MCP-SUP-001/PUBLISHER_DOMAINIs the endpoint domain attributable to that publisher? A verified registry namespace or the reviewed provider catalog associates the configured endpoint domain with this publisher. Catalog attribution remains documented evidence.5

MCP-SUP-002Is the endpoint served over verified HTTPS on the publisher's domain?

Baseline6 possible points

Checks that the endpoint answers over verified TLS. A registry-verified publisher domain can earn full credit; TLS without that attribution earns documented credit. Merely configuring an HTTPS URL does not establish this evidence.

Table A13. MCP-SUP-002 point allocation
Control or check IDEvidence requirementWeight
MCP-SUP-002/VERIFIED_TLSDoes the endpoint use verified HTTPS? A bounded request to the configured endpoint completes with TLS certificate verification enabled. An HTTPS URL string without a successful request is insufficient.3
MCP-SUP-002/DOMAIN_ATTRIBUTIONIs the served endpoint on an attributed provider domain? A verified registry namespace or reviewed provider catalog attributes the endpoint domain. Domain attribution is assessed separately from TLS.3

MCP-SUP-003Can the deployed release be independently identified?

Advanced assurance6 possible points

Checks whether the code version deployed behind a hosted endpoint can be independently identified. A service URL, successful handshake or healthy response does not identify the deployed release.

Table A14. MCP-SUP-003 point allocation
Control or check IDEvidence requirementWeight
MCP-SUP-003/DEPLOYED_VERSIONCan the deployed service version be identified? Attributed evidence identifies the exact code version running at the assessed endpoint and time.3
MCP-SUP-003/DEPLOYMENT_PROVENANCECan that deployment be traced to reviewed source? Attributed provenance connects the identified deployment to its reviewed source or immutable build artifact.3

MCP-AUD-001Are actions attributable and recorded?

Advanced assurance4 possible points

Checks whether actions are recorded with an attributable actor and useful audit context. Verification requires reviewed audit records or an authorized sandbox; published claims alone earn limited credit.

Table A15. MCP-AUD-001 point allocation
Control or check IDEvidence requirementWeight
MCP-AUD-001/ATTRIBUTABLE_ACTORDo action records identify the actor? Documentation describes action or audit records that identify the requesting user, agent or principal.2
MCP-AUD-001/ACTION_CONTEXTDo action records include operation and outcome? Documentation specifies an operation, timestamp and result or outcome in action or audit records.2

MCP-AUD-002Is an explicit session or credential revocation mechanism documented?

Baseline10 possible points

Baseline: the provider documents how a person or administrator can revoke a session or credential and describes its account or environment scope. Runtime enforcement after revocation is a separate assurance question; documented evidence keeps its documented-only label.

Table A16. MCP-AUD-002 point allocation
Control or check IDEvidence requirementWeight
MCP-AUD-002/REVOCATION_PROCEDUREIs there an actionable revocation procedure? First-party steps identify how to revoke an MCP session, credential or connection. Generic account deletion or logout guidance alone does not qualify.5
MCP-AUD-002/REVOCATION_SCOPEIs the effect and scope of revocation described? Documentation states what access revocation removes or invalidates and identifies its session, account, workspace or environment scope. This does not verify runtime revocation.5

MCP-AUD-003Is practical remediation documented?

Advanced assurance2 possible points

Checks for practical, attributed recovery instructions such as fixed versions, removal steps or credential rotation. Published guidance earns documented credit; tested remediation requires additional evidence.

Table A17. MCP-AUD-003 point allocation
Control or check IDEvidence requirementWeight
MCP-AUD-003/FIXED_RELEASE_GUIDANCEIs there an actionable fixed-release or mitigation instruction? First-party documentation identifies an upgrade, fixed version or concrete mitigation for the affected software.1
MCP-AUD-003/CREDENTIAL_RECOVERYDoes recovery guidance address credential exposure? First-party incident or remediation guidance describes rotating or revoking potentially exposed keys, sessions or credentials.1

MCP-MNT-001Is a security contact published?

Baseline3 possible points

Fetches security.txt for the publisher domain, then a repository SECURITY.md when available. A published contact earns documented credit; this does not measure whether the provider responds promptly.

Table A18. MCP-MNT-001 point allocation
Control or check IDEvidence requirementWeight
MCP-MNT-001Fetches security.txt for the publisher domain, then a repository SECURITY.md when available. A published contact earns documented credit; this does not measure whether the provider responds promptly.3

MCP-MNT-002Are there no matching published advisories, or were known advisories remediated promptly?

Baseline4 possible points

A complete, current advisory check with no matching published advisory earns full credit. Known advisories are checked hourly. Confirmed remediation earns 100% within 24 hours, 75% within 7 days, 25% within 30 days and zero afterward. Open or unknown cases earn zero; check evidence expires after two hours.

Table A19. MCP-MNT-002 point allocation
Control or check IDEvidence requirementWeight
MCP-MNT-002A complete, current advisory check with no matching published advisory earns full credit. Known advisories are checked hourly. Confirmed remediation earns 100% within 24 hours, 75% within 7 days, 25% within 30 days and zero afterward. Open or unknown cases earn zero; check evidence expires after two hours.4

MCP-MNT-003Has a package release been published within the last 12 months?

Baseline3 possible points

Compares the package registry publication timestamp with a 12-month window. This measures release recency, not documentation quality or maintenance. It is not applicable to hosted services with no public package; an unknown timestamp earns no credit.

Table A20. MCP-MNT-003 point allocation
Control or check IDEvidence requirementWeight
MCP-MNT-003Compares the package registry publication timestamp with a 12-month window. This measures release recency, not documentation quality or maintenance. It is not applicable to hosted services with no public package; an unknown timestamp earns no credit.3

Appendix B. Provider classification

One reviewed primary functional category per MCP identity. Classify the exposed service, not its transport, name, security controls or safety score.

Table B1. Functional provider categories
CategoryDefinition
Productivity & CollaborationDocuments, spreadsheets, calendars, forms, project management and shared workspaces.
Communication & MessagingEmail, chat, voice, meetings, notifications and message-delivery services.
Identity & Access ManagementAuthentication, authorization, agent identities, credential access and identity trust.
Security & ComplianceVulnerability assessment, threat protection, security policy, privacy and security assurance.
Developer ToolsSource control, APIs, software testing, code intelligence and developer documentation.
Cloud & InfrastructureCompute, hosting, storage infrastructure, networks, DNS, containers and deployment operations.
Data & AnalyticsDatabases, data platforms, data engineering, business intelligence and general web/product analytics.
Observability & MonitoringLogs, traces, errors, uptime, reliability monitoring and incident response.
Sales & CRMCustomer relationships, prospecting, lead enrichment, sales engagement and deal pipelines.
Customer SupportCustomer service, help desks, service management and support operations.
Marketing & AdvertisingCampaigns, advertising, SEO, social publishing, audience growth and marketing-specific analytics.
Finance & PaymentsBanking, payments, accounting, billing, treasury and financial-market data.
Content & Knowledge ManagementFile repositories, content management systems, knowledge bases and learning-content access.
Design & MediaDesign tools, visual assets, diagrams, creative production, audio and video.
Search & ResearchWeb search, crawling, research literature and specialized information discovery.
Automation & IntegrationWorkflow automation, API integration, general tool gateways and MCP transport bridges.
AI & Machine LearningModel platforms, inference gateways, agent orchestration and persistent agent memory.
Legal & RegulatoryLegal research, regulatory intelligence, contract operations and statutory compliance.
Human ResourcesRecruiting, hiring, employee management and people operations.
Business OperationsEnterprise resource planning and integrated operational business workflows.

Functional categories are separate from deployment cohorts and security scores.

References

  1. Model Context Protocol (MCP) Security

    CoSAI, Workstream 4. Version 2.0, updated 12 August 2026; control sections 3.2.2, 3.2.8–3.2.11. Accessed 2026-11-11.

  2. Tools: User Interaction Model

    Model Context Protocol. Specification dated 25 November 2025. Accessed 2026-11-11.

  3. Security Best Practices

    Model Context Protocol. Confused deputy, token passthrough, SSRF and scope minimization guidance. Accessed 2026-11-11.

  4. SLSA: Provenance

    OpenSSF / SLSA. SLSA 1.2. Accessed 2026-11-11.

  5. Model Context Protocol: confirmation and tools

    Stripe. Action-specific Dashboard confirmation, expiry and generic API tool documentation. Accessed 2026-11-11.

  6. Open Source Vulnerability format

    OpenSSF / OSV. Schema 1.9.2, 13 October 2026; affected ranges and fixed events. Accessed 2026-11-11.

  7. MCP authorization specification

    Model Context Protocol. 2025-11-25 specification. Accessed 2026-11-11.

Edition history

Dated links preserve released methodology content. The undated address opens the current edition.

  1. Version 2 · 2026-11-11-v2Current edition
  2. Version 1 · 2026-11-11

Edition fingerprint: sha256:3580981f986236cc2486b90f0d37fb544465405fdb100b5dfffeb88cca72db64