← Back to search
io.github.PlanExeOrg/planexe

PlanExe

MCP server for generating rough-draft project plans from natural-language prompts.

Status
Healthy
Score
76.2
Transport
streamable-http
Tools
11

Production readiness

Verdict
Needs remediation
Current validation evidence shows operational or discovery gaps that should be fixed first.
Critical alerts
0
Production verdicts degrade quickly when critical alerts are active.

Evidence confidence

Confidence score
65.0
Based on 20 recent validations, 26 captured checks, and validation age of 602.4 hours.
Live checks captured
26
More direct checks increase trust in the current verdict.
Validation age
602.5h
Lower age means fresher evidence.

Recommended for

Claude Desktop
Claude Desktop is marked compatible with score 100.
Smithery
Smithery is marked compatible with score 80.
Generic Streamable HTTP
Generic Streamable HTTP is marked compatible with score 100.

Client readiness verdicts

Ready for ChatGPT custom connector
Partial
OpenAI connectors expect OAuth for remote server auth.; Dynamic client registration materially improves connector setup.
Confidence: medium (65.0)
Evidence provenance
Winner: live_validation
Supporting sources: live_validation, history, server_card
Disagreements: none
  • initializeOK
  • tools_listOK
  • transport_compliance_probeWarning
  • step_up_auth_probeMissing
  • connector_replay_probeOK — Frozen tool snapshots must survive refresh.
  • request_association_probeMissing — Roots, sampling, and elicitation should stay request-scoped.
Ready for Claude remote MCP
Ready
No major blockers detected.
Confidence: medium (65.0)
Evidence provenance
Winner: live_validation
Supporting sources: live_validation, history, server_card
Disagreements: none
  • initializeOK
  • tools_listOK
  • transport_compliance_probeWarning
Unsafe for write actions
Yes
High-risk write, exec, or destructive tools need stronger auth and confirmation semantics.
Confidence: medium (65.0)
Evidence provenance
Winner: live_validation
Supporting sources: live_validation, history
Disagreements: none
  • action_safety_probeError
Snapshot churn risk
Low
No material tool-surface churn detected in the latest comparison.
Confidence: medium (65.0)
Evidence provenance
Winner: history
Supporting sources: history, live_validation
Disagreements: none
  • tool_snapshot_probeOK
  • connector_replay_probeOK

Why not ready by client

ChatGPT custom connector
Partial
Remediation checklist
  • No explicit blockers recorded.
Claude remote MCP
Ready
Remediation checklist
  • No explicit blockers recorded.
Write-safe publishing
Blocked
Remediation checklist
  • No explicit blockers recorded.

Verdict traces

Production verdict
Needs remediation
Current validation evidence shows operational or discovery gaps that should be fixed first.
Confidence: medium (65.0)
Winning source: live_validation
Triggering alerts
  • validation_stale • medium • Validation evidence is stale
Client verdict trace table
VerdictStatusChecksWinning sourceConflicts
openai_connectors Partial initialize, tools_list, transport_compliance_probe, step_up_auth_probe, connector_replay_probe, request_association_probe live_validation none
claude_desktop Ready initialize, tools_list, transport_compliance_probe live_validation none
unsafe_for_write_actions Yes action_safety_probe live_validation none
snapshot_churn_risk Low tool_snapshot_probe, connector_replay_probe history none

Publishability policy profiles

ChatGPT custom connector publishability
Caution
OpenAI connectors expect OAuth for remote server auth.; Dynamic client registration materially improves connector setup.
  • Search Fetch Only: No
  • Write Actions Present: Yes
  • Oauth Configured: No
  • Admin Refresh Required: No
  • Safe For Company Knowledge: No
  • Safe For Messages Api Remote Mcp: No
Claude remote MCP publishability
Ready
Transport, discovery, and remote-MCP assumptions are satisfied.
  • Search Fetch Only: No
  • Write Actions Present: Yes
  • Oauth Configured: No
  • Admin Refresh Required: No
  • Safe For Company Knowledge: No
  • Safe For Messages Api Remote Mcp: No

Compatibility fixtures

ChatGPT custom connector fixture
Degraded
OpenAI connectors expect OAuth for remote server auth.; Dynamic client registration materially improves connector setup.
  • remote_http_endpoint: Passes
  • oauth_discovery: Degraded
  • frozen_tool_snapshot_refresh: Passes
  • request_association: Passes
Anthropic remote MCP fixture
Passes
Remote MCP transport and discovery assumptions are satisfied.
  • remote_transport: Passes
  • tool_discovery: Passes
  • auth_connect: Passes
  • safe_write_review: Degraded

Authenticated validation sessions

Latest profile
remote_mcp
Authenticated session used
Public score isolation
Preview endpoint
/v1/verify
CI preview endpoint
/v1/ci/preview

Public server reputation

Validation success 7d
n/a
Validation success 30d
1.0
Mean time to recover
n/a
Breaking diffs 30d
1
Registry drift frequency 30d
0
Snapshot changes 30d
1

Incident & change feed

TimestampEventDetails
Apr 09, 2026 12:41:45 AM UTC Latest validation: healthy Score 76.2 with status healthy.

Capabilities

Use-case taxonomy
development communication productivity web

Security posture

Tools analyzed
11
High-risk tools
3
Destructive tools
1
Exec tools
1
Egress tools
1
Secret tools
1
Bulk-access tools
2
Risk distribution
medium:8, high:2, critical:1

Tool capability & risk inventory

ToolCapabilitiesRiskFindingsNotes
example_plans read write filesystem admin Medium filesystem mutation admin mutation No explicit safeguard hints detected.
example_prompts read write filesystem admin Medium filesystem mutation admin mutation No explicit safeguard hints detected.
model_profiles write filesystem Medium filesystem mutation No explicit safeguard hints detected.
plan_create read write exec network filesystem admin secrets Critical command execution secret material access freeform input surface filesystem mutation admin mutation No explicit safeguard hints detected.
plan_status read write network filesystem admin High arbitrary network egress filesystem mutation admin mutation No explicit safeguard hints detected.
plan_stop read write network Medium none No explicit safeguard hints detected.
plan_retry write filesystem Medium filesystem mutation No explicit safeguard hints detected.
plan_resume read write delete filesystem export High destructive operation bulk data access filesystem mutation No explicit safeguard hints detected.
plan_file_info read write network filesystem admin Medium filesystem mutation admin mutation No explicit safeguard hints detected.
plan_list read write admin export Medium bulk data access admin mutation No explicit safeguard hints detected.
send_feedback read write filesystem Medium filesystem mutation No explicit safeguard hints detected.

Write-action governance

Governance status
Error
Safe to publish
Auth boundary
public_or_unclear
Blast radius
High
High-risk tools
3
Confirmation signals
example_plans, example_prompts, plan_create
Safeguard count
0

Status detail: 3 high-risk tool(s), 1 destructive tool(s), 1 exec-capable tool(s) are exposed without a clear auth boundary; 0 safeguard(s) and 3 confirmation signal(s) detected.

ToolRiskFlagsSafeguards
plan_create Critical command execution secret material access freeform input surface filesystem mutation admin mutation no
plan_status High arbitrary network egress filesystem mutation admin mutation no
plan_resume High destructive operation bulk data access filesystem mutation no

Action-controls diff

Snapshot changed
no
Disabled-by-default candidates
none
Manual review candidates
none
New actions
ActionRiskFlags
No newly added actions.
Changed actions
ActionChange typesRisk
No materially changed actions.

Why this score?

Access & Protocol
32/44
Connectivity, auth, and transport expectations for common clients.
Interface Quality
39/56
How well the tool/resource interface communicates and behaves under automation.
Security Posture
26.75/36
How safely the exposed tool surface handles destructive actions, egress, execution, secrets, and risky inputs.
Reliability & Trust
23/24
Operational stability, consistency, and trustworthiness over time.
Discovery & Governance
22.5/28
How well the server is documented, listed, and governed in public registries.
Adoption & Market
6/8
Adoption clues and public evidence that the server is intended for external use.

Algorithmic score breakdown

Auth Operability
2/4
Measures whether auth discovery and protected access behave predictably for clients.
Error Contract Quality
0/4
Grades machine-readable error structure, status alignment, and remediation hints.
Rate-Limit Semantics
2/4
Checks whether quota/throttle responses are deterministic and automation-friendly.
Schema Completeness
3/4
Completeness of tool descriptions, parameter docs, examples, and schema shape.
Backward Compatibility
4/4
Stability score across tool schema/name drift relative to prior validations.
SLO Health
3/4
Availability, latency, and burst-failure profile across recent validation history.
Security Hygiene
4/4
HTTPS posture, endpoint hygiene, and response-surface hardening checks.
Task Success
4/4
Can an agent reliably initialize, enumerate tools, and execute core MCP flows?
Trust Confidence
4/4
Confidence-adjusted reliability score that penalizes low evidence volume.
Abuse/Noise Resilience
4/4
How well the server preserves core behavior in the presence of noisy traffic patterns.
Prompt Contract
3/4
Quality of prompt metadata, argument shape, and prompt discoverability for clients.
Resource Contract
2/4
How completely resources and resource templates describe URIs, types, and usage shape.
Discovery Metadata
2/4
Homepage, docs, icon, repository, support, and license coverage for directory consumers.
Registry Consistency
2/4
Agreement between stored registry metadata, live server-card data, and current validation output.
Installability
4/4
How cleanly a real client can connect, initialize, enumerate tools, and proceed through auth.
Session Semantics
4/4
Determinism and state behavior across repeated MCP calls, including sticky-session surprises.
Tool Surface Design
4/4
Naming clarity, schema ergonomics, and parameter complexity across the tool surface.
Result Shape Stability
4/4
Stability of declared output schemas across validations, with penalties for drift or missing shapes.
OAuth Interop
3/4
Depth and client compatibility of OAuth/OIDC metadata beyond the minimal protected-resource check.
Recovery Semantics
0/4
Whether failures include actionable machine-readable next steps such as retry or upgrade guidance.
Maintenance Signal
4/4
Versioning, update recency, and historical validation cadence that indicate active stewardship.
Adoption Signal
3/4
Directory presence and distribution clues that suggest the server is intended for external use.
Freshness Confidence
4/4
Confidence that recent validations are current enough and dense enough to trust operationally.
Transport Fidelity
4/4
Whether declared transport metadata matches the observed endpoint behavior and response formats.
Spec Recency
2/4
How close the server’s claimed MCP protocol version is to the latest known public revision.
Session Resume
3/4
Whether Streamable HTTP session identifiers and resumed requests behave cleanly for real clients.
Step-Up Auth
3/4
Whether OAuth metadata and WWW-Authenticate challenges support granular, incremental consent instead of broad upfront scopes.
Transport Compliance
2/4
Checks session headers, protocol-version enforcement, session teardown, and expired-session behavior.
Utility Coverage
2/4
Signals support for completions, pagination, and task-oriented utility surfaces that larger clients increasingly expect.
Advanced Capability Coverage
3/4
Coverage of newer MCP surfaces like roots, sampling, elicitation, structured output, and related metadata.
Connector Publishability
3/4
How ready the server looks for client catalogs and managed connector programs.
Tool Snapshot Churn
4/4
Stability of the tool surface across recent validations, including add/remove and output-shape drift.
Connector Replay
4/4
Whether a previously published frozen connector snapshot would remain backward compatible after the latest tool refresh.
Request Association
3/4
Whether roots, sampling, and elicitation appear tied to active client requests instead of arriving unsolicited on idle sessions.
Interactive Flow Safety
4/4
Whether prompts and docs steer users toward safe auth flows instead of pasting secrets directly.
Action Safety
2/4
Risk-weighted view of destructive, exec, egress, and confirmation semantics across the tool surface.
Official Registry Presence
4/4
Whether the server appears directly or indirectly in the official MCP registry.
Provenance Divergence
4/4
How closely official registry metadata, the live server card, and public repo/package signals agree with each other.
Safety Transparency
3/4
Clarity of docs, auth disclosure, support links, and other trust signals visible to integrators.
Tool Capability Clarity
4/4
How clearly the tool surface communicates whether each action reads, writes, deletes, executes, or exports data.
Destructive Operation Safety
2/4
Penalizes delete/revoke/destroy style tools unless auth and safeguards reduce blast radius.
Egress / SSRF Resilience
2/4
Assesses arbitrary URL fetch, crawl, webhook, and remote-request exposure on the tool surface.
Execution / Sandbox Safety
3.8/4
Evaluates shell, code, script, and command-execution exposure and whether that surface appears contained.
Data Exfiltration Resilience
3/4
Assesses export, dump, backup, and bulk-read behavior against the surrounding auth and safeguard signals.
Least Privilege Scope
2/4
Rewards scoped auth metadata and penalizes broad or missing scopes around privileged tools.
Secret Handling Hygiene
3/4
Assesses secret-bearing tools, token leakage risk, and whether the public surface avoids obvious secret exposure.
Supply Chain Signal
3.5/4
Public metadata signal for repository, changelog, license, versioning, and recency that supports supply-chain trust.
Input Sanitization Safety
3/4
Penalizes risky freeform string inputs when schemas do not constrain URLs, code, paths, queries, or templates.
Tool Namespace Clarity
4/4
Measures naming uniqueness and ambiguity across the tool namespace to reduce collision and confusion risk.

Compatibility profiles

OpenAI Connectors
77.8
partial
OpenAI connectors expect OAuth for remote server auth.; Dynamic client registration materially improves connector setup.
Connector URL: https://mcp.planexe.org/mcp
# No OAuth metadata detected.
# Server: io.github.PlanExeOrg/planexe
Claude Desktop
100.0
compatible
No major blockers detected.
{
  "mcpServers": {
    "planexe": {
      "command": "npx",
      "args": ["mcp-remote", "https://mcp.planexe.org/mcp"]
    }
  }
}
Smithery
80.0
compatible
Machine-readable failure semantics should be present.
smithery mcp add "https://mcp.planexe.org/mcp"
Generic Streamable HTTP
100.0
compatible
No major blockers detected.
curl -sS https://mcp.planexe.org/mcp -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"mcp-verify","version":"0.1.0"}}}'

Actionable remediation

SeverityRemediationWhy it mattersRecommended action
High Add confirmation and dry-run semantics for risky actions High-risk write, delete, exec, or egress tools should communicate safeguards clearly. Inspect the latest validation evidence and resolve the client-visible regression.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
High Align session and protocol behavior with Streamable HTTP expectations Clients increasingly rely on MCP-Protocol-Version, session teardown, and expired-session semantics. Align MCP-Protocol-Version, MCP-Session-Id, DELETE teardown, and expired-session handling with the transport spec.
Playbook
  • Return `Mcp-Session-Id` and `Mcp-Protocol-Version` headers consistently on streamable HTTP responses.
  • Honor `DELETE` session teardown and return `404` when a deleted session is reused.
  • Reject invalid protocol-version headers with `400 Bad Request`.
High Associate roots, sampling, and elicitation with active client requests Modern MCP guidance expects roots, sampling, and elicitation traffic to be tied to an active client request instead of arriving unsolicited on idle sessions. Inspect the latest validation evidence and resolve the client-visible regression.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
High Expose /.well-known/oauth-protected-resource Without a protected-resource document, OAuth clients cannot discover auth requirements reliably. Serve /.well-known/oauth-protected-resource and point it at your authorization server metadata.
Playbook
  • Serve `/.well-known/oauth-protected-resource` from the same host as the MCP endpoint.
  • Point it at the authorization server metadata URL.
  • Confirm clients receive consistent auth hints before tool execution.
High Publish OAuth authorization-server metadata Clients need authorization-server metadata to discover issuer, endpoints, and DCR support. Publish /.well-known/oauth-authorization-server from your issuer and include registration_endpoint when supported.
Playbook
  • Publish `/.well-known/oauth-authorization-server` from the issuer.
  • Add `registration_endpoint` if DCR is supported.
  • Verify issuer, authorization, token, and jwks metadata are all reachable.
Medium Adopt a current MCP protocol revision Older protocol revisions reduce compatibility with newer clients and registry programs. Inspect the latest validation evidence and resolve the client-visible regression.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
Medium Close connector-publishing gaps Connector catalogs care about protocol recency, session behavior, auth clarity, and tool-surface stability. Inspect the latest validation evidence and resolve the client-visible regression.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
Medium Document minimal scopes and return cleaner auth challenges Modern clients expect granular scopes and step-up auth signals such as WWW-Authenticate scope hints. Return granular scopes and WWW-Authenticate challenge hints instead of forcing overly broad auth upfront.
Playbook
  • Advertise the narrowest viable scopes in OAuth metadata.
  • Return `WWW-Authenticate` challenges with scope or insufficient-scope hints when additional consent is needed.
  • Revalidate with both public discovery and auth-required flows.
Medium Publish OpenID configuration OIDC metadata improves token validation and client compatibility. Expose /.well-known/openid-configuration with issuer, jwks_uri, and supported grants.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
Medium Respond to validation evidence is stale Latest validation is 602.4 hours old. Trigger a fresh validation run or increase scheduler priority for this server.
Playbook
  • Queue a new validation run now.
  • Inspect whether the scheduler priority should be raised for this server.
  • Do not rely on stale evidence for production decisions.
Medium Support resumable HTTP sessions cleanly Modern MCP clients increasingly expect resumable session behavior on streamable HTTP transports. Inspect the latest validation evidence and resolve the client-visible regression.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.
Low Expose modern utility surfaces like completions, pagination, or tasks Utility coverage improves interoperability with larger clients and long-lived agent workflows. Expose completions, pagination, and task metadata where supported so larger clients can plan and resume work safely.
Playbook
  • Advertise `completions`, pagination cursors, and `tasks` only when they are actually supported.
  • Return `nextCursor` on large list operations when pagination is available.
  • Document task support and whether it requires step-up auth.
Low Publish newer MCP capability signals Roots, sampling, elicitation, structured outputs, and related metadata improve client understanding and ranking. Inspect the latest validation evidence and resolve the client-visible regression.
Playbook
  • Inspect the latest validation evidence.
  • Resolve the highest-severity client-facing gap first.
  • Revalidate and confirm the score and verdict improve.

Point loss breakdown

ComponentCurrentPoints missing
Recovery Semantics 0/4 -4.0
Error Contract 0/4 -4.0
Utility Coverage 2/4 -2.0
Transport Compliance 2/4 -2.0
Spec Recency 2/4 -2.0
Resource Contract 2/4 -2.0
Registry Consistency 2/4 -2.0
Rate Limit Semantics 2/4 -2.0
Least Privilege Scope 2/4 -2.0
Egress SSRF Resilience 2/4 -2.0
Discovery Metadata 2/4 -2.0
Destructive Operation Safety 2/4 -2.0

Validation diff

Score delta
0
Summary changed
no
Tool delta
0
Prompt delta
0
Auth mode changed
no
Write surface expanded
no
Protocol regressed
no
Registry drift changed
no

Regressed checks: none

Improved checks: none

ComponentPreviousLatestDelta
No component deltas between the latest two runs.

Tool snapshot diff & changelog

Snapshot changed
no
Added tools
none
Removed tools
none
Required-argument changes
ToolAdded required argsRemoved required args
No required-argument changes detected.
Output-schema drift
ToolPrevious propertiesLatest properties
No output-schema drift detected.

Connector replay

Status
OK
Backward compatible
Would break after refresh
Added tools
none
Removed tools
none
Additive output changes
none
Required-argument replay breaks
ToolAdded required argsRemoved required args
No required-argument replay breaks detected.
Output-schema replay breaks
ToolRemoved propertiesAdded properties
No output-schema replay breaks detected.

Transport compliance drilldown

Probe status
Warning
Transport
streamable-http
Session header
no
Protocol header
no
Bad protocol response
400
DELETE teardown
n/a
Expired session retry
n/a
Last-Event-ID visible
no

Issues: missing_session_id, missing_protocol_header

Request association

Status
Missing
Advertised capabilities
none
Observed idle methods
none
Violating methods
none
Probe HTTP status
n/a
Issues
none

Utility coverage

Probe status
Missing
Completions
not detected
Completion probe target: { "argument_name": "topic", "name": "plan_a_project", "type": "prompt" }
Pagination
not detected
No nextCursor evidence.
Tasks
Missing
Advertised: no

Benchmark tasks

Benchmark taskStatusEvidence
Discover tools Passes
  • initializeOK
  • tools_listOK
Read-only fetch flow Likely to fail
  • resource_readMissing
  • read_only_tool_surfaceMissing
OAuth-required connect Degraded
  • oauth_protected_resourceError
  • step_up_auth_probeMissing
Safe write flow with confirmation Likely to fail
  • action_safety_probeError

Registry & provenance divergence

Probe status
OK
Direct official match
yes
Drift fields
none
FieldRegistryLive server card
Titlen/aplanexe-mcp-server
Versionn/a1.0.1
Homepagen/an/a

Active alerts

Aliases & registry graph

IdentifierSourceCanonicalScore
io.github.PlanExeOrg/planexe official_registry yes 76.15

Alias consolidation

Canonical identifier
io.github.PlanExeOrg/planexe
Duplicate aliases
0
Registry sources
official_registry
Source disagreements
FieldWhat differsObserved values
No source disagreements detected.

Install snippets

Openai Connectors
Connector URL: https://mcp.planexe.org/mcp
# No OAuth metadata detected.
# Server: io.github.PlanExeOrg/planexe
Claude Desktop
{
  "mcpServers": {
    "planexe": {
      "command": "npx",
      "args": ["mcp-remote", "https://mcp.planexe.org/mcp"]
    }
  }
}
Smithery
smithery mcp add "https://mcp.planexe.org/mcp"
Generic Http
curl -sS https://mcp.planexe.org/mcp -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-03-26","capabilities":{},"clientInfo":{"name":"mcp-verify","version":"0.1.0"}}}'

Agent access & tool surface

Live server tools
example_plans example_prompts model_profiles plan_create plan_status plan_stop plan_retry plan_resume
Observed from the latest live validation against https://mcp.planexe.org/mcp. This is the target server surface, not Verify's own inspection tools.
Live capability counts
11 tools • 2 prompts • 0 resources
Counts come from the latest tools/list, prompts/list, and resources/list checks.
Inspect with Verify
search_servers recommend_servers get_server_report compare_servers
Use Verify itself to search, recommend, compare, and fetch the full report for io.github.PlanExeOrg/planexe.
Direct machine links

Claims & monitoring

Server ownership

No verified maintainer claim recorded.

Watch subscriptions
0
Teams: none

Alert routing

Active watches
0
Generic webhooks
0
Slack routes
0
Teams routes
0
Email routes
0
WatchTeamChannelsMinimum severity
No active watch destinations.

Maintainer analytics

Validation Run Count
20
Average Latency Ms
2334.38
Healthy Run Ratio Recent
1.0
Registry Presence Count
1
Active Alert Count
1
Watcher Count
0
Verified Claim
False
Taxonomy Tags
development, communication, productivity, web
Score Trend
76.15, 76.15, 76.15, 76.15, 76.15, 76.15, 76.15, 76.15, 76.15, 76.15
Remediation Count
13
High Risk Tool Count
3
Destructive Tool Count
1
Exec Tool Count
1

Maintainer response quality

Score
16.67
Verified claim
Support contact
Changelog present
Incident notes present
Tool changes documented
Annotation history
Annotation count
0

Maintainer annotations

No maintainer annotations have been recorded yet.

Maintainer rebuttals & expected behavior

No maintainer rebuttals or expected-behavior overrides are recorded yet.

Latest validation evidence

Latest summary
Healthy
Validation profile
remote_mcp
Started
Apr 09, 2026 12:41:42 AM UTC
Latency
2628.1 ms

Failures

Checks

CheckStatusLatencyEvidence
action_safety_probe Error n/a 3 high-risk, 1 destructive, 1 exec-capable tool(s); no clear auth boundary; safeguards=0; confirmation=example plans, example prompts, plan create.
advanced_capabilities_probe Warning n/a Only 3 capability signal(s): prompts, resources, structured outputs.
connector_publishability_probe Warning n/a Publishability blockers: action safety.
connector_replay_probe OK n/a Backward compatible with no breaking tool-surface changes.
determinism_probe OK 246.9 ms Check completed
initialize OK 238.3 ms Protocol 2025-03-26
interactive_flow_probe OK n/a Check completed
oauth_authorization_server Missing n/a no authorization server
oauth_protected_resource Error 224.1 ms Client error '404 ' for url 'https://mcp.planexe.org/.well-known/oauth-protected-resource' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404
official_registry_probe OK n/a Check completed
openid_configuration Missing n/a no authorization server
probe_noise_resilience OK 148.0 ms Fetched https://mcp.planexe.org/robots.txt
prompt_get OK 177.9 ms 1 prompt message(s) returned
prompts_list OK 98.9 ms 2 prompt(s) exposed
protocol_version_probe Warning n/a Claims 2025-03-26; 2 release(s) behind 2025-11-25.
provenance_divergence_probe OK n/a Check completed
request_association_probe Missing n/a No request-association capabilities were advertised.
resource_read Missing n/a not advertised
resources_list OK 119.2 ms 0 resource item(s) exposed
server_card OK 438.5 ms 1 prompt(s) exposed
session_resume_probe Warning n/a no session id
step_up_auth_probe Missing n/a No OAuth or incremental-scope signals detected.
tool_snapshot_probe OK n/a Check completed
tools_list OK 237.5 ms 11 tool(s) exposed
transport_compliance_probe Warning 306.2 ms Issues: missing session id, missing protocol header (bad protocol=400).
utility_coverage_probe Missing 88.8 ms No completions evidence; no pagination evidence; tasks missing.

Raw evidence view

Show raw JSON evidence
{
  "checks": {
    "action_safety_probe": {
      "details": {
        "auth_present": false,
        "confirmation_signals": [
          "example_plans",
          "example_prompts",
          "plan_create"
        ],
        "safeguard_count": 0,
        "summary": {
          "bulk_access_tools": 2,
          "capability_distribution": {
            "admin": 6,
            "delete": 1,
            "exec": 1,
            "export": 2,
            "filesystem": 9,
            "network": 4,
            "read": 9,
            "secrets": 1,
            "write": 11
          },
          "destructive_tools": 1,
          "egress_tools": 1,
          "exec_tools": 1,
          "high_risk_tools": 3,
          "risk_distribution": {
            "critical": 1,
            "high": 2,
            "low": 0,
            "medium": 8
          },
          "secret_tools": 1,
          "tool_count": 11
        }
      },
      "latency_ms": null,
      "status": "error"
    },
    "advanced_capabilities_probe": {
      "details": {
        "capabilities": {
          "completions": false,
          "elicitation": false,
          "prompts": true,
          "resource_links": false,
          "resources": true,
          "roots": false,
          "sampling": false,
          "structured_outputs": true
        },
        "enabled": [
          "prompts",
          "resources",
          "structured_outputs"
        ],
        "enabled_count": 3,
        "initialize_capability_keys": [
          "experimental",
          "prompts",
          "resources",
          "tools"
        ]
      },
      "latency_ms": null,
      "status": "warning"
    },
    "connector_publishability_probe": {
      "details": {
        "blockers": [
          "action_safety"
        ],
        "criteria": {
          "action_safety": false,
          "auth_flow": true,
          "connector_replay": true,
          "initialize": true,
          "protocol_version": true,
          "remote_transport": true,
          "request_association": true,
          "server_card": true,
          "session_resume": true,
          "step_up_auth": true,
          "tool_surface": true,
          "tools_list": true,
          "transport_compliance": true
        },
        "high_risk_tools": 3,
        "tool_count": 11,
        "transport": "streamable-http"
      },
      "latency_ms": null,
      "status": "warning"
    },
    "connector_replay_probe": {
      "details": {
        "added_tools": [],
        "additive_output_changes": [],
        "backward_compatible": true,
        "output_breaks": [],
        "removed_tools": [],
        "required_arg_breaks": [],
        "would_break_after_refresh": false
      },
      "latency_ms": null,
      "status": "ok"
    },
    "determinism_probe": {
      "details": {
        "attempts": 2,
        "baseline_signature": "1f86e1365bd76c7c21d6e3f551cdf2af280a97a4e8a766c89ef609eb10af7f71",
        "errors": [],
        "matches": 2,
        "stable_ratio": 1.0,
        "successful": 2
      },
      "latency_ms": 246.93,
      "status": "ok"
    },
    "initialize": {
      "details": {
        "headers": {
          "content-type": "application/json"
        },
        "http_status": 200,
        "payload": {
          "id": 1,
          "jsonrpc": "2.0",
          "result": {
            "capabilities": {
              "experimental": {},
              "prompts": {
                "listChanged": false
              },
              "resources": {
                "listChanged": false,
                "subscribe": false
              },
              "tools": {
                "listChanged": false
              }
            },
            "instructions": "PlanExe generates strategic project-plan drafts from a natural-language prompt. Output is a self-contained interactive HTML report (~700KB) with 20+ sections including executive summary, interactive Gantt charts, risk analysis, SWOT, governance, investor pitch, team profiles, work breakdown, scenario comparison, expert criticism, and adversarial sections (premortem, self-audit checklist, premise attacks) that stress-test whether the plan holds up. The output is a draft to refine, not final ground truth \u2014 but it surfaces hard questions the prompter may not have considered. Use PlanExe for substantial multi-phase projects with constraints, stakeholders, budgets, and timelines. Do not use PlanExe for tiny one-shot outputs (for example: 'give me a 5-point checklist'); use a normal LLM response for that. The planning pipeline is fixed end-to-end; callers cannot select individual internal pipeline steps to run. Required interaction order: call example_plans first (optional, to preview what PlanExe output looks like \u2014 curated example reports and zip bundles). Then call example_prompts. Optional before plan_create: call model_profiles to see profile guidance and available models in each profile. Then perform a non-tool step: draft a strong prompt as flowing prose (not structured markdown with headers or bullets), typically ~300-800 words, and get user approval. Good prompt shape: objective, scope, constraints, timeline, stakeholders, budget/resources, and success criteria. Write the prompt as flowing prose \u2014 weave specs, constraints, and targets naturally into sentences. Only after approval, call plan_create. Each plan_create call creates a new plan_id; the server does not enforce a global per-client concurrency limit. Then poll plan_status (about every 5 minutes) to check progress; use plan_file_info when complete. plan_status is the primary way to track progress \u2014 it returns structured JSON with progress_percentage, steps_completed/steps_total, and current_step. Optionally, run `curl -N <sse_url>` in a background shell as a completion detector \u2014 the stream auto-closes when the plan reaches a terminal state (completed/failed/stopped). If plan generation fails before completing all steps, call plan_resume to continue from where it left off without discarding completed work. Use plan_retry instead for a full restart (plan must be in failed state). Both accept a failed plan_id and optional model_profile (defaults to baseline). To stop, call plan_stop with the plan_id from plan_create; stopping is asynchronous and the plan will transition to the stopped state. If model_profiles returns MODEL_PROFILES_UNAVAILABLE, inform the user that no models are currently configured and the server administrator needs to set up model profiles. Tool errors use {error:{code,message}}. plan_file_info returns {ready:false,reason:...} while the artifact is not yet ready; check readiness by testing whether download_url is present in the response. plan_file_info download_url is the absolute URL where the requested artifact can be downloaded. To list recent plans for a user call plan_list; returns plan_id, state, progress_percentage, created_at, and prompt_excerpt for each plan. plan_status state contract: pending/processing => keep polling; completed => download is ready; failed => terminal error; stopped => user called plan_stop (consider plan_resume). Troubleshooting: if plan_status stays in pending for longer than 5 minutes, the plan was likely queued but not picked up by a worker (server issue). If plan_status is in processing and output files do not change for longer than 20 minutes, the plan_create likely failed/stalled. In both cases, report the issue to PlanExe developers on GitHub: https://github.com/PlanExeOrg/PlanExe/issues . Main output: a self-contained interactive HTML report (~700KB) with collapsible sections and interactive Gantt charts \u2014 open in a browser. The zip contains the intermediary pipeline files (md, json, csv) that fed the report. Use send_feedback to report issues or share observations about plan quality, workflow friction, or the MCP interface. Feedback is fire-and-forget and never blocks the workflow. New users: create an account and obtain an API key at https://home.planexe.org/ .",
            "protocolVersion": "2025-03-26",
            "serverInfo": {
              "name": "planexe-mcp-server",
              "version": "1.27.0"
            }
          }
        },
        "url": "https://mcp.planexe.org/mcp"
      },
      "latency_ms": 238.34,
      "status": "ok"
    },
    "interactive_flow_probe": {
      "details": {
        "oauth_supported": false,
        "prompt_available": true,
        "risk_hits": [],
        "safe_hits": [
          "browser"
        ]
      },
      "latency_ms": null,
      "status": "ok"
    },
    "oauth_authorization_server": {
      "details": {
        "reason": "no_authorization_server"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "oauth_protected_resource": {
      "details": {
        "error": "Client error '404 ' for url 'https://mcp.planexe.org/.well-known/oauth-protected-resource'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
        "url": "https://mcp.planexe.org/.well-known/oauth-protected-resource"
      },
      "latency_ms": 224.08,
      "status": "error"
    },
    "official_registry_probe": {
      "details": {
        "direct_match": true,
        "official_peer_count": 1,
        "registry_identifier": "io.github.PlanExeOrg/planexe",
        "registry_source": "official_registry"
      },
      "latency_ms": null,
      "status": "ok"
    },
    "openid_configuration": {
      "details": {
        "reason": "no_authorization_server"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "probe_noise_resilience": {
      "details": {
        "headers": {
          "content-type": "text/plain; charset=utf-8"
        },
        "http_status": 200,
        "url": "https://mcp.planexe.org/robots.txt"
      },
      "latency_ms": 148.04,
      "status": "ok"
    },
    "prompt_get": {
      "details": {
        "headers": {
          "content-type": "application/json"
        },
        "http_status": 200,
        "payload": {
          "id": 4,
          "jsonrpc": "2.0",
          "result": {
            "description": "Quick-start guide for using PlanExe to create a project plan.",
            "messages": [
              {
                "content": {
                  "text": "You have access to PlanExe, an MCP server that generates strategic project-plan drafts from a natural-language prompt.\n\nTo get started:\n1. Call the example_prompts tool to see what good prompts look like.\n2. Optionally call model_profiles to see available quality tiers.\n3. Draft a detailed prompt (300-800 words) covering: objective, scope, constraints, timeline, stakeholders, budget, and success criteria. Write it as flowing prose, not bullet lists.\n4. Show the draft to the user for approval. Iterate \u2014 the user may want to refine scope, add constraints, or adjust priorities. A few rounds of feedback typically produce the best plans.\n5. Once the user is satisfied, call plan_create with the approved prompt.\n6. Poll plan_status every 5 minutes until state is completed.\n7. Call plan_file_info to get the download URL for the HTML report.\n\nThe report contains 20+ sections including executive summary, Gantt charts, risk analysis, SWOT, governance, investor pitch, and adversarial stress-tests.",
                  "type": "text"
                },
                "role": "user"
              }
            ]
          }
        },
        "prompt_name": "getting_started",
        "url": "https://mcp.planexe.org/mcp"
      },
      "latency_ms": 177.86,
      "status": "ok"
    },
    "prompts_list": {
      "details": {
        "headers": {
          "content-type": "application/json"
        },
        "http_status": 200,
        "payload": {
          "id": 3,
          "jsonrpc": "2.0",
          "result": {
            "prompts": [
              {
                "arguments": [],
                "description": "Quick-start guide for using PlanExe to create a project plan.",
                "name": "getting_started"
              },
              {
                "arguments": [
                  {
                    "name": "topic",
                    "required": true
                  },
                  {
                    "name": "location",
                    "required": false
                  }
                ],
                "description": "Draft a project plan for a given topic. Guides the agent through the full PlanExe workflow.",
                "name": "plan_a_project"
              }
            ]
          }
        },
        "url": "https://mcp.planexe.org/mcp"
      },
      "latency_ms": 98.92,
      "status": "ok"
    },
    "protocol_version_probe": {
      "details": {
        "claimed_version": "2025-03-26",
        "lag_days": 244,
        "latest_known_version": "2025-11-25",
        "releases_behind": 2,
        "validator_protocol_version": "2025-03-26"
      },
      "latency_ms": null,
      "status": "warning"
    },
    "provenance_divergence_probe": {
      "details": {
        "direct_official_match": true,
        "drift_fields": [],
        "metadata_document_count": 3,
        "registry_homepage": null,
        "registry_repository": null,
        "registry_title": null,
        "registry_version": null,
        "server_card_homepage": null,
        "server_card_repository": null,
        "server_card_title": "planexe-mcp-server",
        "server_card_version": "1.0.1"
      },
      "latency_ms": null,
      "status": "ok"
    },
    "request_association_probe": {
      "details": {
        "reason": "no_request_association_capabilities_advertised"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "resource_read": {
      "details": {
        "reason": "not_advertised"
      },
      "latency_ms": null,
      "status": "missing"
    },
    "resources_list": {
      "details": {
        "headers": {
          "content-type": "application/json"
        },
        "http_status": 200,
        "payload": {
          "id": 5,
          "jsonrpc": "2.0",
          "result": {
            "resources": []
          }
        },
        "url": "https://mcp.planexe.org/mcp"
      },
      "latency_ms": 119.22,
      "status": "ok"
    },
    "server_card": {
      "details": {
        "headers": {
          "content-type": "application/json"
        },
        "http_status": 200,
        "payload": {
          "authentication": {
            "required": true,
            "schemes": [
              "api-key"
            ]
          },
          "capabilities": {
            "tools": {}
          },
          "description": "MCP server that generates strategic project-plan drafts from a natural-language prompt. Output is a self-contained interactive HTML report with 20+ sections including executive summary, interactive Gantt charts, risk analysis, SWOT, governance, investor pitch, and adversarial stress-test sections.",
          "documentationUrl": "https://docs.planexe.org/",
          "prompts": [
            "dynamic"
          ],
          "protocolVersion": "2025-06-18",
          "resources": [
            "dynamic"
          ],
          "serverInfo": {
            "name": "planexe-mcp-server",
            "title": "PlanExe - AI Project Planning",
            "version": "1.0.1"
          },
          "tools": [
            "dynamic"
          ],
          "transport": {
            "endpoint": "/mcp/",
            "type": "streamable-http"
          },
          "version": "1.0"
        },
        "url": "https://mcp.planexe.org/.well-known/mcp/server-card.json"
      },
      "latency_ms": 438.49,
      "status": "ok"
    },
    "session_resume_probe": {
      "details": {
        "protocol_version": "2025-03-26",
        "reason": "no_session_id",
        "resume_expected": true,
        "transport": "streamable-http"
      },
      "latency_ms": null,
      "status": "warning"
    },
    "step_up_auth_probe": {
      "details": {
        "auth_required_checks": [],
        "broad_scopes": [],
        "challenge_headers": [],
        "minimal_scope_documented": false,
        "oauth_present": false,
        "scope_specificity_ratio": 0.0,
        "step_up_signals": [],
        "supported_scopes": []
      },
      "latency_ms": null,
      "status": "missing"
    },
    "tool_snapshot_probe": {
      "details": {
        "added": [],
        "changed_outputs": [],
        "current_tool_count": 11,
        "previous_tool_count": 11,
        "removed": [],
        "similarity": 1.0
      },
      "latency_ms": null,
      "status": "ok"
    },
    "tools_list": {
      "details": {
        "headers": {
          "content-type": "application/json"
        },
        "http_status": 200,
        "payload": {
          "id": 2,
          "jsonrpc": "2.0",
          "result": {
            "tools": [
              {
                "annotations": {
                  "destructiveHint": false,
                  "idempotentHint": true,
                  "openWorldHint": false,
                  "readOnlyHint": true
                },
                "description": "Returns a curated list of example plans with download links for reports and zip bundles. Use this to preview what PlanExe output looks like before creating your own plan. Especially useful when the user asks what the output looks like before committing to a plan. No API key required.",
                "inputSchema": {
                  "properties": {},
                  "title": "example_plansArguments",
                  "type": "object"
                },
                "name": "example_plans",
                "outputSchema": {
                  "$defs": {
                    "ExamplePlanItem": {
                      "properties": {
                        "report_url": {
                          "description": "URL to the static HTML report for this example plan.",
                          "title": "Report Url",
                          "type": "string"
                        },
                        "title": {
                          "description": "Short title describing the example plan.",
                          "title": "Title",
                          "type": "string"
                        },
                        "zip_url": {
                          "description": "URL to the zip bundle for this example plan.",
                          "title": "Zip Url",
                          "type": "string"
                        }
                      },
                      "required": [
                        "title",
                        "report_url",
                        "zip_url"
                      ],
                      "title": "ExamplePlanItem",
                      "type": "object"
                    }
                  },
                  "properties": {
                    "message": {
                      "title": "Message",
                      "type": "string"
                    },
                    "plans": {
                      "description": "Curated example plans with download links for reports and zip bundles.",
                      "items": {
                        "$ref": "#/$defs/ExamplePlanItem"
                      },
                      "title": "Plans",
                      "type": "array"
                    }
                  },
                  "required": [
                    "plans",
                    "message"
                  ],
                  "title": "ExamplePlansOutput",
                  "type": "object"
                }
              },
              {
                "annotations": {
                  "destructiveHint": false,
                  "idempotentHint": true,
                  "openWorldHint": false,
                  "readOnlyHint": true
                },
                "description": "Call this first. Returns example prompts that define what a good prompt looks like. Do NOT call plan_create yet. Optional before plan_create: call model_profiles to choose model_profile. Next is a non-tool step: formulate a detailed prompt (typically ~300-800 words; use examples as a baseline, similar structure) and get user approval. Good prompt shape: objective, scope, constraints, timeline, stakeholders, budget/resources, and success criteria. Write the prompt as flowing prose, not structured markdown with headers or bullet lists. Weave technical specs, constraints, and targets naturally into sentences. Include banned words/approaches and governance preferences inline. The examples demonstrate this prose style \u2014 match their tone and density. Then call plan_create. PlanExe is not for tiny one-shot outputs like a 5-point checklist; and it does not support selecting only some internal pipeline steps.",
                "inputSchema": {
                  "properties": {},
                  "title": "example_promptsArguments",
                  "type": "object"
                },
                "name": "example_prompts",
                "outputSchema": {
                  "properties": {
                    "message": {
                      "title": "Message",
                      "type": "string"
                    },
                    "samples": {
                      "description": "Example prompts that define the baseline for what a good prompt looks like. Take inspiration from these when writing your own prompt for plan_create (typically ~300-800 words). Good prompt shape: objective, scope, constraints, timeline, stakeholders, budget/resources, and success criteria.",
                      "items": {
                        "type": "string"
                      },
                      "title": "Samples",
                      "type": "array"
                    }
                  },
                  "required": [
                    "samples",
                    "message"
                  ],
                  "title": "ExamplePromptsOutput",
                  "type": "object"
                }
              },
              {
                "annotations": {
                  "destructiveHint": false,
                  "idempotentHint": true,
                  "openWorldHint": false,
                  "readOnlyHint": true
                },
                "description": "Optional helper before plan_create. Returns model_profile options with plain-language guidance and currently available models in each profile. If no models are available, returns error code MODEL_PROFILES_UNAVAILABLE.",
                "inputSchema": {
                  "properties": {},
                  "title": "model_profilesArguments",
                  "type": "object"
                },
                "name": "model_profiles",
                "outputSchema": {
                  "$defs": {
                    "ModelProfileInfo": {
                      "properties": {
                        "model_count": {
                          "description": "Number of models currently available in this profile.",
                          "title": "Model Count",
                          "type": "integer"
                        },
                        "models": {
                          "description": "Models currently available to this profile.",
                          "items": {
                            "$ref": "#/$defs/ModelProfileModelEntry"
                          },
                          "title": "Models",
                          "type": "array"
                        },
                        "profile": {
                          "description": "Model profile value accepted by plan_create.model_profile.",
                          "enum": [
                            "baseline",
                            "premium",
                            "frontier",
                            "custom"
                          ],
                          "title": "Profile",
                          "type": "string"
                        },
                        "summary": {
                          "description": "Short profile guidance for callers.",
                          "title": "Summary",
                          "type": "string"
                        },
                        "title": {
                          "description": "Human-friendly profile label.",
                          "title": "Title",
                          "type": "string"
                        }
                      },
                      "required": [
                        "profile",
                        "title",
                        "summary",
                        "model_count",
                        "models"
                      ],
                      "title": "ModelProfileInfo",
                      "type": "object"
                    },
                    "ModelProfileModelEntry": {
                      "properties": {
                        "key": {
                          "description": "Model key from llm_config/<profile>.json.",
                          "title": "Key",
                          "type": "string"
                        },
                        "model": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Provider model identifier when present.",
                          "title": "Model"
                        },
                        "priority": {
                          "anyOf": [
                            {
                              "type": "integer"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Priority from config (lower number means earlier in selection order).",
                          "title": "Priority"
                        },
                        "provider_class": {
                          "anyOf": [
                            {
                              "type": "string"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "description": "Provider class (for example OpenRouter, OpenAI, Ollama).",
                          "title": "Provider Class"
                        }
                      },
                      "required": [
                        "key"
                      ],
                      "title": "ModelProfileModelEntry",
                      "type": "object"
                    }
                  },
                  "properties": {
                    "default_profile": {
                      "description": "Default model profile used when plan_create.model_profile is omitted/invalid.",
                      "enum": [
                        "baseline",
                        "premium",
                        "frontier",
                        "custom"
                      ],
                      "title": "Default Profile",
                      "type": "string"
                    },
                    "message": {
                      "description": "Caller guidance for selecting plan_create.model_profile.",
                      "title": "Message",
                      "type": "string"
                    },
                    "profiles": {
                      "description": "Available profile options and their model inventory.",
                      "items": {
                        "$ref": "#/$defs/ModelProfileInfo"
                      },
                      "title": "Profiles",
                      "type": "array"
                    }
                  },
                  "required": [
                    "default_profile",
                    "profiles",
                    "message"
                  ],
                  "title": "ModelProfilesOutput",
                  "type": "object"
                }
              },
              {
                "annotations": {
                  "destructiveHint": false,
                  "idempotentHint": true,
                  "openWorldHint": true,
                  "readOnlyHint": false
                },
                "description": "Call only after example_prompts and after you have completed prompt drafting/approval (non-tool step). PlanExe turns the approved prompt into a strategic project-plan draft (20+ sections) in ~10-20 min. Sections include: executive summary, interactive Gantt charts, investor pitch, project plan with SMART criteria, strategic decision analysis, scenario comparison, assumptions with expert review, governance structure, SWOT analysis, team role profiles, simulated expert criticism, work breakdown structure, plan review (critical issues, KPIs, financial strategy, automation opportunities), Q&A, premortem with failure scenarios, self-audit checklist, and adversarial premise attacks that argue against the project. The adversarial sections (premortem, self-audit, premise attacks) surface risks and questions the prompter may not have considered. Returns plan_id (UUID); use it for plan_status, plan_stop, plan_retry, and plan_file_info. To track progress, poll plan_status at reasonable intervals (e.g. every 5 minutes). Optionally, run `curl -N <sse_url>` in a background shell as a completion detector \u2014 the stream auto-closes on terminal state (completed/failed/stopped). If you lose a plan_id, call plan_list to recover it. If the same prompt + model_profile is submitted by the same user within a short window, the existing plan is returned (with deduplicated=true) instead of creating a new one. If you are unsure which model_profile to choose, call model_profiles first. If your deployment uses credits, include user_api_key to charge the correct account. Common error codes: INVALID_USER_API_KEY, USER_API_KEY_REQUIRED, INSUFFICIENT_CREDITS.",
                "inputSchema": {
                  "properties": {
                    "model_profile": {
                      "default": "baseline",
                      "description": "Model profile: baseline, premium, frontier, custom. Call model_profiles to inspect options.",
                      "enum": [
                        "baseline",
                        "premium",
                        "frontier",
                        "custom"
                      ],
                      "title": "Model Profile",
                      "type": "string"
                    },
                    "prompt": {
                      "title": "Prompt",
                      "type": "string"
                    },
                    "start_date": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "Optional plan start date in ISO 8601 format with timezone offset (e.g. '2025-06-15T09:00:00+02:00'). When omitted, the plan starts now. Use this to set a past or future start date for the plan.",
                      "title": "Start Date"
                    }
                  },
                  "required": [
                    "prompt"
                  ],
                  "title": "plan_createArguments",
                  "type": "object"
                },
                "name": "plan_create",
                "outputSchema": {
                  "properties": {
                    "created_at": {
                      "title": "Created At",
                      "type": "string"
                    },
                    "deduplicated": {
                      "anyOf": [
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "True when this response returns an existing plan instead of creating a new one (duplicate prompt + model_profile by the same user within the dedup window). Absent or None for newly created plans.",
                      "title": "Deduplicated"
                    },
                    "plan_id": {
                      "description": "Plan UUID returned by plan_create. Stable across plan_status/plan_stop/plan_file_info.",
                      "title": "Plan Id",
                      "type": "string"
                    },
                    "sse_url": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "Optional completion detector. Run `curl -N <sse_url>` in a background shell \u2014 the stream auto-closes when the plan reaches a terminal state (completed/failed/stopped). For structured progress data, use plan_status instead.",
                      "title": "Sse Url"
                    }
                  },
                  "required": [
                    "plan_id",
                    "created_at"
                  ],
                  "title": "PlanCreateOutput",
                  "type": "object"
                }
              },
              {
                "annotations": {
                  "destructiveHint": false,
                  "idempotentHint": true,
                  "openWorldHint": false,
                  "readOnlyHint": true
                },
                "description": "Returns status and progress of the plan currently being created. This is the primary way to check progress \u2014 it returns structured JSON with all progress fields. Poll at reasonable intervals (e.g. every 5 minutes): plan generation typically takes 10-20 minutes (baseline profile) and may take longer on higher-quality profiles. State contract: pending/processing => keep polling; completed => download is ready; failed => terminal error; stopped => user called plan_stop (consider plan_resume). progress_percentage is 0-100 (integer-like float); 100 when completed. Note: steps vary in duration \u2014 early steps complete quickly while later steps (review, report generation) take longer. Do not use progress_percentage to estimate time remaining. steps_completed and steps_total give the number of plan generation steps completed and expected (both nullable). current_step is the human-readable label of the most recently completed step (e.g. 'SWOT Analysis'). timing.last_progress_at is an ISO 8601 timestamp of the last progress update (null until the first worker update); use it to compute time-since-last-progress and detect stalls \u2014 a gap > 10 minutes with no progress change is a strong stall signal. files lists the most recent 10 intermediate outputs produced so far (files_count gives the total); use their updated_at timestamps as a secondary stall signal. When state is 'failed', the response includes an error dict with failure diagnostics: error.failure_reason (category: generation_error, worker_error, inactivity_timeout, internal_error, version_mismatch), error.failed_step (pipeline step active at failure), error.message (human-readable message), and error.recoverable (true => plan_resume may work, false => use plan_retry). The error dict is absent for non-failed states. Unknown plan_id returns error code PLAN_NOT_FOUND. Troubleshooting: pending for >5 minutes likely means queued but not picked up by a worker. processing with timing.last_progress_at unchanged for >10 minutes likely means stalled \u2014 call plan_stop then plan_retry. Fall back to file updated_at timestamps if last_progress_at is null. Report these issues to https://github.com/PlanExeOrg/PlanExe/issues .",
                "inputSchema": {
                  "properties": {
                    "plan_id": {
                      "description": "Plan UUID returned by plan_create.",
                      "title": "Plan Id",
                      "type": "string"
                    }
                  },
                  "required": [
                    "plan_id"
                  ],
                  "title": "plan_statusArguments",
                  "type": "object"
                },
                "name": "plan_status"
              },
              {
                "annotations": {
                  "destructiveHint": true,
                  "idempotentHint": true,
                  "openWorldHint": false,
                  "readOnlyHint": false
                },
                "description": "Request the plan generation to stop. Pass the plan_id (the UUID returned by plan_create). Stopping is asynchronous: the stop flag is set immediately but the plan may continue briefly before halting. A stopped plan will transition to the stopped state. If the plan is already completed or failed, stop_requested returns false (the plan already finished). Unknown plan_id returns error code PLAN_NOT_FOUND.",
                "inputSchema": {
                  "properties": {
                    "plan_id": {
                      "description": "Plan UUID returned by plan_create. Use it to stop the plan creation.",
                      "title": "Plan Id",
                      "type": "string"
                    }
                  },
                  "required": [
                    "plan_id"
                  ],
                  "title": "plan_stopArguments",
                  "type": "object"
                },
                "name": "plan_stop",
                "outputSchema": {
                  "$defs": {
                    "ErrorDetail": {
                      "properties": {
                        "code": {
                          "title": "Code",
                          "type": "string"
                        },
                        "details": {
                          "anyOf": [
                            {
                              "additionalProperties": true,
                              "type": "object"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "title": "Details"
                        },
                        "message": {
                          "title": "Message",
                          "type": "string"
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ],
                      "title": "ErrorDetail",
                      "type": "object"
                    }
                  },
                  "properties": {
                    "error": {
                      "anyOf": [
                        {
                          "$ref": "#/$defs/ErrorDetail"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null
                    },
                    "state": {
                      "anyOf": [
                        {
                          "enum": [
                            "pending",
                            "processing",
                            "completed",
                            "failed",
                            "stopped"
                          ],
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "Current plan state after stop request.",
                      "title": "State"
                    },
                    "stop_requested": {
                      "anyOf": [
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "True when stop request flag was set for a pending/processing task.",
                      "title": "Stop Requested"
                    }
                  },
                  "title": "PlanStopOutput",
                  "type": "object"
                }
              },
              {
                "annotations": {
                  "destructiveHint": false,
                  "idempotentHint": false,
                  "openWorldHint": true,
                  "readOnlyHint": false
                },
                "description": "Retry a plan that is currently in failed or stopped state. Pass the plan_id and optionally model_profile (defaults to baseline). The plan is reset to pending, prior artifacts are cleared, and the same plan_id is requeued for processing. Returns PLAN_NOT_FOUND when plan_id is unknown and PLAN_NOT_FAILED when the plan is not in failed or stopped state.",
                "inputSchema": {
                  "properties": {
                    "model_profile": {
                      "default": "baseline",
                      "description": "Model profile used for retry. Defaults to baseline.",
                      "enum": [
                        "baseline",
                        "premium",
                        "frontier",
                        "custom"
                      ],
                      "title": "Model Profile",
                      "type": "string"
                    },
                    "plan_id": {
                      "description": "UUID of the failed plan to retry.",
                      "title": "Plan Id",
                      "type": "string"
                    }
                  },
                  "required": [
                    "plan_id"
                  ],
                  "title": "plan_retryArguments",
                  "type": "object"
                },
                "name": "plan_retry",
                "outputSchema": {
                  "$defs": {
                    "ErrorDetail": {
                      "properties": {
                        "code": {
                          "title": "Code",
                          "type": "string"
                        },
                        "details": {
                          "anyOf": [
                            {
                              "additionalProperties": true,
                              "type": "object"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "title": "Details"
                        },
                        "message": {
                          "title": "Message",
                          "type": "string"
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ],
                      "title": "ErrorDetail",
                      "type": "object"
                    }
                  },
                  "properties": {
                    "error": {
                      "anyOf": [
                        {
                          "$ref": "#/$defs/ErrorDetail"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null
                    },
                    "model_profile": {
                      "anyOf": [
                        {
                          "enum": [
                            "baseline",
                            "premium",
                            "frontier",
                            "custom"
                          ],
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "Model profile assigned to the retry request.",
                      "title": "Model Profile"
                    },
                    "plan_id": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "Plan UUID that was retried (same ID as the failed or stopped plan).",
                      "title": "Plan Id"
                    },
                    "retried_at": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "UTC timestamp when the retry request was accepted.",
                      "title": "Retried At"
                    },
                    "sse_url": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "Optional completion detector. Run `curl -N <sse_url>` in a background shell \u2014 the stream auto-closes when the plan reaches a terminal state (completed/failed/stopped). For structured progress data, use plan_status instead.",
                      "title": "Sse Url"
                    },
                    "state": {
                      "anyOf": [
                        {
                          "enum": [
                            "pending",
                            "processing",
                            "completed",
                            "failed",
                            "stopped"
                          ],
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "Current plan state after retry request.",
                      "title": "State"
                    }
                  },
                  "title": "PlanRetryOutput",
                  "type": "object"
                }
              },
              {
                "annotations": {
                  "destructiveHint": false,
                  "idempotentHint": false,
                  "openWorldHint": true,
                  "readOnlyHint": false
                },
                "description": "Resume a failed or stopped plan without discarding completed intermediary files. Plan generation restarts from the first incomplete step, skipping all steps that already produced output files. Use plan_resume when plan_status shows 'failed' or 'stopped' and plan generation was interrupted before completing all steps (network drop, timeout, plan_stop, worker crash). For a full restart or to change model_profile, use plan_retry instead. Only failed or stopped plans can be resumed. Returns PLAN_NOT_FOUND when plan_id is unknown and PLAN_NOT_RESUMABLE when the plan is not in failed or stopped state. Returns PIPELINE_VERSION_MISMATCH when the snapshot was created by a different pipeline version; use plan_retry instead.",
                "inputSchema": {
                  "properties": {
                    "model_profile": {
                      "default": "baseline",
                      "description": "Model profile used for the resumed plan. Defaults to baseline.",
                      "enum": [
                        "baseline",
                        "premium",
                        "frontier",
                        "custom"
                      ],
                      "title": "Model Profile",
                      "type": "string"
                    },
                    "plan_id": {
                      "description": "UUID of the failed plan to resume.",
                      "title": "Plan Id",
                      "type": "string"
                    }
                  },
                  "required": [
                    "plan_id"
                  ],
                  "title": "plan_resumeArguments",
                  "type": "object"
                },
                "name": "plan_resume",
                "outputSchema": {
                  "$defs": {
                    "ErrorDetail": {
                      "properties": {
                        "code": {
                          "title": "Code",
                          "type": "string"
                        },
                        "details": {
                          "anyOf": [
                            {
                              "additionalProperties": true,
                              "type": "object"
                            },
                            {
                              "type": "null"
                            }
                          ],
                          "default": null,
                          "title": "Details"
                        },
                        "message": {
                          "title": "Message",
                          "type": "string"
                        }
                      },
                      "required": [
                        "code",
                        "message"
                      ],
                      "title": "ErrorDetail",
                      "type": "object"
                    }
                  },
                  "properties": {
                    "error": {
                      "anyOf": [
                        {
                          "$ref": "#/$defs/ErrorDetail"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null
                    },
                    "model_profile": {
                      "anyOf": [
                        {
                          "enum": [
                            "baseline",
                            "premium",
                            "frontier",
                            "custom"
                          ],
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "Model profile assigned to the resumed run.",
                      "title": "Model Profile"
                    },
                    "plan_id": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "Plan UUID that was resumed (same ID as the failed or stopped plan).",
                      "title": "Plan Id"
                    },
                    "resume_count": {
                      "anyOf": [
                        {
                          "type": "integer"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "Number of times this plan has been resumed.",
                      "title": "Resume Count"
                    },
                    "resumed_at": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "UTC timestamp when the resume request was accepted.",
                      "title": "Resumed At"
                    },
                    "sse_url": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "Optional completion detector. Run `curl -N <sse_url>` in a background shell \u2014 the stream auto-closes when the plan reaches a terminal state (completed/failed/stopped). For structured progress data, use plan_status instead.",
                      "title": "Sse Url"
                    },
                    "state": {
                      "anyOf": [
                        {
                          "enum": [
                            "pending",
                            "processing",
                            "completed",
                            "failed",
                            "stopped"
                          ],
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "Current plan state after resume request.",
                      "title": "State"
                    }
                  },
                  "title": "PlanResumeOutput",
                  "type": "object"
                }
              },
              {
                "annotations": {
                  "destructiveHint": false,
                  "idempotentHint": true,
                  "openWorldHint": false,
                  "readOnlyHint": true
                },
                "description": "Returns file metadata (content_type, download_url, download_size, expires_at) for the report or zip artifact. Use artifact='report' (default) for the interactive HTML report (~700KB, self-contained with embedded JS for collapsible sections and interactive Gantt charts \u2014 open in a browser). Use artifact='zip' for the full pipeline output bundle (md, json, csv intermediary files that fed the report). While the task is still pending or processing, returns {ready:false,reason:\"processing\"}. Check readiness by testing whether download_url is present in the response. Once ready, present download_url to the user or fetch and save the file locally. Download URLs expire after 15 minutes (see expires_at); call plan_file_info again to get a fresh URL if needed. If your client exposes plan_download (e.g. mcp_local), prefer that to save the file locally. Terminal error codes: generation_failed (plan failed), content_unavailable (artifact missing). Unknown plan_id returns error code PLAN_NOT_FOUND.",
                "inputSchema": {
                  "properties": {
                    "artifact": {
                      "default": "report",
                      "description": "Download artifact type: report or zip.",
                      "enum": [
                        "report",
                        "zip"
                      ],
                      "title": "Artifact",
                      "type": "string"
                    },
                    "plan_id": {
                      "description": "Plan UUID returned by plan_create. Use it to download the created plan.",
                      "title": "Plan Id",
                      "type": "string"
                    }
                  },
                  "required": [
                    "plan_id"
                  ],
                  "title": "plan_file_infoArguments",
                  "type": "object"
                },
                "name": "plan_file_info"
              },
              {
                "annotations": {
                  "destructiveHint": false,
                  "idempotentHint": true,
                  "openWorldHint": false,
                  "readOnlyHint": true
                },
                "description": "List the most recent plans for an authenticated user. Returns up to `limit` plans (default 10, max 50) newest-first, each with plan_id, state, progress_percentage, created_at (ISO 8601), and a prompt_excerpt (first 100 chars). Use this to recover a lost plan_id or to review recent activity.",
                "inputSchema": {
                  "properties": {
                    "limit": {
                      "default": 10,
                      "description": "Maximum number of plans to return (1\u201350). Newest plans are returned first.",
                      "maximum": 50,
                      "minimum": 1,
                      "title": "Limit",
                      "type": "integer"
                    }
                  },
                  "title": "plan_listArguments",
                  "type": "object"
                },
                "name": "plan_list",
                "outputSchema": {
                  "$defs": {
                    "PlanListItem": {
                      "properties": {
                        "created_at": {
                          "description": "UTC creation timestamp (ISO 8601).",
                          "title": "Created At",
                          "type": "string"
                        },
                        "plan_id": {
                          "description": "Plan UUID.",
                          "title": "Plan Id",
                          "type": "string"
                        },
                        "progress_percentage": {
                          "description": "Progress from 0 to 100.",
                          "title": "Progress Percentage",
                          "type": "number"
                        },
                        "prompt_excerpt": {
                          "description": "First 100 characters of the prompt.",
                          "title": "Prompt Excerpt",
                          "type": "string"
                        },
                        "state": {
                          "description": "Current plan state.",
                          "enum": [
                            "pending",
                            "processing",
                            "completed",
                            "failed",
                            "stopped"
                          ],
                          "title": "State",
                          "type": "string"
                        }
                      },
                      "required": [
                        "plan_id",
                        "state",
                        "progress_percentage",
                        "created_at",
                        "prompt_excerpt"
                      ],
                      "title": "PlanListItem",
                      "type": "object"
                    }
                  },
                  "properties": {
                    "message": {
                      "description": "Human-readable summary (e.g. how many plans were returned).",
                      "title": "Message",
                      "type": "string"
                    },
                    "plans": {
                      "description": "Plans for the authenticated user, newest first.",
                      "items": {
                        "$ref": "#/$defs/PlanListItem"
                      },
                      "title": "Plans",
                      "type": "array"
                    }
                  },
                  "required": [
                    "plans",
                    "message"
                  ],
                  "title": "PlanListOutput",
                  "type": "object"
                }
              },
              {
                "annotations": {
                  "destructiveHint": false,
                  "idempotentHint": true,
                  "openWorldHint": false,
                  "readOnlyHint": false
                },
                "description": "Submit feedback about PlanExe \u2014 issues, impressions, or suggestions. Callable at any point in the workflow; fire-and-forget, never blocks. Use category to classify: mcp (MCP tools, SSE, plan_status, workflow), plan (the generated output files), code (PlanExe source), docs (documentation), other. Optionally attach to a plan via plan_id. Use rating (1-5) for sentiment: 1=strong negative, 3=neutral, 5=strong positive. Especially useful for reporting: SSE streams that close before plan completion, plan_status returning stale or inconsistent data, queue delays where workers are slow to pick up plans, and impressions of plan output quality after reviewing reports. Include specific details (plan_id, percentages, timestamps) when reporting issues.",
                "inputSchema": {
                  "properties": {
                    "category": {
                      "description": "Feedback category: mcp, plan, code, docs, or other.",
                      "title": "Category",
                      "type": "string"
                    },
                    "message": {
                      "description": "Free-text feedback. Include environment context if reporting an issue.",
                      "title": "Message",
                      "type": "string"
                    },
                    "plan_id": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "Optional plan UUID to attach this feedback to.",
                      "title": "Plan Id"
                    },
                    "rating": {
                      "anyOf": [
                        {
                          "maximum": 5,
                          "minimum": 1,
                          "type": "integer"
                        },
                        {
                          "type": "null"
                        }
                      ],
                      "default": null,
                      "description": "Sentiment: 1=strong negative, 2=weak negative, 3=neutral, 4=weak positive, 5=strong positive.",
                      "title": "Rating"
                    }
                  },
                  "required": [
                    "category",
                    "message"
                  ],
                  "title": "send_feedbackArguments",
                  "type": "object"
                },
                "name": "send_feedback",
                "outputSchema": {
                  "properties": {
                    "feedback_id": {
                      "description": "Server-generated UUID for this feedback entry.",
                      "title": "Feedback Id",
                      "type": "string"
                    },
                    "message": {
                      "description": "Confirmation message.",
                      "title": "Message",
                      "type": "string"
                    },
                    "received_at": {
                      "description": "UTC timestamp when the feedback was received (ISO 8601).",
                      "title": "Received At",
                      "type": "string"
                    }
                  },
                  "required": [
                    "feedback_id",
                    "received_at",
                    "message"
                  ],
                  "title": "SendFeedbackOutput",
                  "type": "object"
                }
              }
            ]
          }
        },
        "url": "https://mcp.planexe.org/mcp"
      },
      "latency_ms": 237.46,
      "status": "ok"
    },
    "transport_compliance_probe": {
      "details": {
        "bad_protocol_error": null,
        "bad_protocol_headers": {
          "content-type": "application/json"
        },
        "bad_protocol_payload": {
          "error": {
            "code": -32600,
            "message": "Bad Request: Unsupported protocol version: 1999-99-99. Supported versions: 2024-11-05, 2025-03-26, 2025-06-18, 2025-11-25"
          },
          "id": "server-error",
          "jsonrpc": "2.0"
        },
        "bad_protocol_status_code": 400,
        "delete_error": null,
        "delete_status_code": null,
        "expired_session_error": null,
        "expired_session_status_code": null,
        "issues": [
          "missing_session_id",
          "missing_protocol_header"
        ],
        "last_event_id_visible": false,
        "protocol_header_present": false,
        "requested_protocol_version": "2025-03-26",
        "session_id_present": false,
        "transport": "streamable-http"
      },
      "latency_ms": 306.21,
      "status": "warning"
    },
    "utility_coverage_probe": {
      "details": {
        "completions": {
          "advertised": false,
          "live_probe": "not_executed",
          "sample_target": {
            "argument_name": "topic",
            "name": "plan_a_project",
            "type": "prompt"
          }
        },
        "initialize_capability_keys": [
          "experimental",
          "prompts",
          "resources",
          "tools"
        ],
        "pagination": {
          "metadata_signal": false,
          "next_cursor_methods": [],
          "supported": false
        },
        "tasks": {
          "advertised": false,
          "http_status": 200,
          "probe_status": "missing"
        }
      },
      "latency_ms": 88.83,
      "status": "missing"
    }
  },
  "failures": {
    "oauth_authorization_server": {
      "reason": "no_authorization_server"
    },
    "oauth_protected_resource": {
      "error": "Client error '404 ' for url 'https://mcp.planexe.org/.well-known/oauth-protected-resource'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
      "url": "https://mcp.planexe.org/.well-known/oauth-protected-resource"
    },
    "openid_configuration": {
      "reason": "no_authorization_server"
    }
  },
  "remote_url": "https://mcp.planexe.org/mcp",
  "server_card_payload": {
    "authentication": {
      "required": true,
      "schemes": [
        "api-key"
      ]
    },
    "capabilities": {
      "tools": {}
    },
    "description": "MCP server that generates strategic project-plan drafts from a natural-language prompt. Output is a self-contained interactive HTML report with 20+ sections including executive summary, interactive Gantt charts, risk analysis, SWOT, governance, investor pitch, and adversarial stress-test sections.",
    "documentationUrl": "https://docs.planexe.org/",
    "prompts": [
      "dynamic"
    ],
    "protocolVersion": "2025-06-18",
    "resources": [
      "dynamic"
    ],
    "serverInfo": {
      "name": "planexe-mcp-server",
      "title": "PlanExe - AI Project Planning",
      "version": "1.0.1"
    },
    "tools": [
      "dynamic"
    ],
    "transport": {
      "endpoint": "/mcp/",
      "type": "streamable-http"
    },
    "version": "1.0"
  },
  "server_identifier": "io.github.PlanExeOrg/planexe"
}

Known versions

Validation history

7 day score delta
+0.0
30 day score delta
+0.0
Recent healthy ratio
100%
Freshness
602.5h
TimestampStatusScoreLatencyTools
Apr 09, 2026 12:41:45 AM UTC Healthy 76.2 2628.1 ms 11
Apr 08, 2026 12:41:37 AM UTC Healthy 76.2 3415.3 ms 11
Apr 07, 2026 12:40:52 AM UTC Healthy 76.2 3643.7 ms 11
Apr 06, 2026 12:39:12 AM UTC Healthy 76.2 2004.6 ms 11
Apr 05, 2026 12:37:09 AM UTC Healthy 76.2 1873.2 ms 11
Apr 04, 2026 12:36:09 AM UTC Healthy 76.2 1836.5 ms 11
Apr 03, 2026 12:31:16 AM UTC Healthy 76.2 2510.6 ms 11
Apr 02, 2026 12:19:23 AM UTC Healthy 76.2 2221.2 ms 11

Validation timeline

ValidatedSummaryScoreProtocolAuth modeToolsHigh-risk toolsChanges
Apr 09, 2026 12:41:45 AM UTC Healthy 76.2 2025-03-26 public 11 3 none
Apr 08, 2026 12:41:37 AM UTC Healthy 76.2 2025-03-26 public 11 3 none
Apr 07, 2026 12:40:52 AM UTC Healthy 76.2 2025-03-26 public 11 3 none
Apr 06, 2026 12:39:12 AM UTC Healthy 76.2 2025-03-26 public 11 3 none
Apr 05, 2026 12:37:09 AM UTC Healthy 76.2 2025-03-26 public 11 3 none
Apr 04, 2026 12:36:09 AM UTC Healthy 76.2 2025-03-26 public 11 3 none
Apr 03, 2026 12:31:16 AM UTC Healthy 76.2 2025-03-26 public 11 3 none
Apr 02, 2026 12:19:23 AM UTC Healthy 76.2 2025-03-26 public 11 3 none
Mar 31, 2026 11:36:03 PM UTC Healthy 76.2 2025-03-26 public 11 3 none
Mar 30, 2026 11:33:36 PM UTC Healthy 76.2 2025-03-26 public 11 3 none
Mar 29, 2026 11:20:15 PM UTC Healthy 75.1 2025-03-26 public 11 3 tool_snapshot_changed
Mar 28, 2026 10:01:36 PM UTC Healthy 75.6 2025-03-26 public 10 3 none

Recent validation runs

StartedStatusSummaryLatencyChecks
Apr 09, 2026 12:41:42 AM UTC Completed Healthy 2628.1 ms action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe
Apr 08, 2026 12:41:33 AM UTC Completed Healthy 3415.3 ms action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe
Apr 07, 2026 12:40:48 AM UTC Completed Healthy 3643.7 ms action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe
Apr 06, 2026 12:39:10 AM UTC Completed Healthy 2004.6 ms action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe
Apr 05, 2026 12:37:07 AM UTC Completed Healthy 1873.2 ms action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe
Apr 04, 2026 12:36:07 AM UTC Completed Healthy 1836.5 ms action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe
Apr 03, 2026 12:31:14 AM UTC Completed Healthy 2510.6 ms action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe
Apr 02, 2026 12:19:21 AM UTC Completed Healthy 2221.2 ms action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe
Mar 31, 2026 11:36:01 PM UTC Completed Healthy 2128.4 ms action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe
Mar 30, 2026 11:33:33 PM UTC Completed Healthy 2450.9 ms action_safety_probe, advanced_capabilities_probe, connector_publishability_probe, connector_replay_probe, determinism_probe, initialize, interactive_flow_probe, oauth_authorization_server, oauth_protected_resource, official_registry_probe, openid_configuration, probe_noise_resilience, prompt_get, prompts_list, protocol_version_probe, provenance_divergence_probe, request_association_probe, resource_read, resources_list, server_card, session_resume_probe, step_up_auth_probe, tool_snapshot_probe, tools_list, transport_compliance_probe, utility_coverage_probe