EOSL.ai — Hardware End-of-Life Database
Hardware end-of-life dates by part number, each linked to the vendor's own bulletin.
Allow With Approval
trustsnap_039f6c05bf5d30cc.- Recovery Semantics
- Execution Sandbox Safety
- Advanced Capability Coverage
- Add an explicit confirm/dry-run parameter or two-step confirmation flow to write, delete, exec, and egress-capable tool…
- Align MCP-Protocol-Version, MCP-Session-Id, DELETE teardown, and expired-session handling with the transport spec.
- Only send roots/list, sampling/createMessage, or elicitation/create requests while handling an active client-initiated…
- No segmented attention signals observed in the current window.
Risk
Security posture
Tool capability & risk inventory
| Tool | Capabilities | Risk | Findings | Notes |
|---|---|---|---|---|
lookup_part |
read exec network | Medium | command execution | No explicit safeguard hints detected. |
bulk_check |
network | Medium | none | No explicit safeguard hints detected. |
search_models |
read exec network | Medium | command execution | No explicit safeguard hints detected. |
get_family |
read exec network | Medium | command execution | No explicit safeguard hints detected. |
list_vendors |
read network | Medium | none | No explicit safeguard hints detected. |
Write-action governance
Status detail: 3 exec-capable tool(s) are exposed without a clear auth boundary; no safeguards or confirmation signals detected.
Exec-capable tools are medium risk here because they are scoped/authenticated and not destructive, but they still require confirmation safeguards before write-safe publishing.
| Tool | Risk | Flags | Safeguards |
|---|---|---|---|
| No high-risk tools were detected on the latest run. | |||
Action-controls diff
New actions
| Action | Risk | Flags |
|---|---|---|
| No newly added actions. | ||
Changed actions
| Action | Change types | Risk |
|---|---|---|
| No materially changed actions. | ||
Critical alerts
Compatibility
Client compatibility verdicts
Client compatibility only means the server shape can work with a client. Production trust decision and write-action publishing are evaluated separately so a client-compatible server can still be blocked for production.
Evidence provenance
initialize• OKtools_list• OKtransport_compliance_probe• Warningstep_up_auth_probe• Missingconnector_replay_probe• Missing — Frozen tool snapshots must survive refresh.request_association_probe• Missing — Roots, sampling, and elicitation should stay request-scoped.
Evidence provenance
initialize• OKtools_list• OKtransport_compliance_probe• Warning
Evidence provenance
action_safety_probe• Error
Evidence provenance
tool_snapshot_probe• Missingconnector_replay_probe• Missing
Client compatibility gate details
Remediation checklist
OpenAI connectors expect OAuth for remote server auth.Dynamic client registration materially improves connector setup.The tool surface is not limited to search/fetch-style read tools.This client profile expects a read/search-only tool surface, but write, delete, or exec-capable tools are present.OAuth is not configured, so this client cannot authenticate without additional setup.Not yet safe for company-knowledge use: requires a search/fetch-only surface with no write actions present.
Remediation checklist
The tool surface is not limited to search/fetch-style read tools.This client profile expects a read/search-only tool surface, but write, delete, or exec-capable tools are present.OAuth is not configured, so this client cannot authenticate without additional setup.Not yet safe for company-knowledge use: requires a search/fetch-only surface with no write actions present.Not yet safe for the Messages API remote MCP path: requires OAuth, a compatible connector profile, and no pending connector-refresh risk.Transport compliance issues should be resolved before wider client rollout.
Remediation checklist
Add a clearer auth boundary around risky write actions.Add confirmation or dry-run semantics for risky actions.Constrain or sandbox exec-capable tools before publishing broadly.
Verdict traces
- No active alert triggers.
Client verdict trace table
| Verdict | Status | Checks | Winning source | Conflicts |
|---|---|---|---|---|
openai_connectors |
Partially client-compatible | initialize, tools_list, transport_compliance_probe, step_up_auth_probe, connector_replay_probe, request_association_probe | live_validation | none |
claude_desktop |
Client-compatible | initialize, tools_list, transport_compliance_probe | live_validation | none |
unsafe_for_write_actions |
Publishing blocked | action_safety_probe | live_validation | none |
snapshot_churn_risk |
Low | tool_snapshot_probe, connector_replay_probe | history | none |
Publishability policy profiles
- 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
- 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
- remote_http_endpoint: Passes
- oauth_discovery: Degraded
- frozen_tool_snapshot_refresh: Passes
- request_association: Passes
- remote_transport: Passes
- tool_discovery: Passes
- auth_connect: Passes
- safe_write_review: Degraded
Recommended for
Agent Commerce & Payment Readiness
Agent Commerce & Payment Readiness - Beta
Commerce signal is weak and payment capability is none -- below the bar for a full commerce assessment on this page.
Evidence
Current trust snapshot
trustsnap_039f6c05bf5d30ccCanonical machine links
Evidence confidence
Latest validation evidence
Failures
oauth_authorization_serverno authorization serveroauth_protected_resourceClient error '404 Not Found' for url 'https://eosl.ai/.well-known/oauth-protected-resource' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404openid_configurationno authorization server
Checks
| Check | Status | Latency | Evidence |
|---|---|---|---|
action_safety_probe |
Error | n/a | 3 exec-capable tool(s); no clear auth boundary; safeguards=0; confirmation=none. |
advanced_capabilities_probe |
Missing | n/a | No advanced MCP capability signals detected. |
connector_publishability_probe |
Warning | n/a | Publishability blockers: action safety. |
connector_replay_probe |
Missing | n/a | No connector replay evidence recorded. |
determinism_probe |
OK | 34.5 ms | Check completed |
initialize |
OK | 121.0 ms | Protocol 2025-03-26 |
interactive_flow_probe |
Missing | n/a | Check completed |
oauth_authorization_server |
Missing | n/a | no authorization server |
oauth_protected_resource |
Error | 93.7 ms | Client error '404 Not Found' for url 'https://eosl.ai/.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 | 100.8 ms | Fetched https://eosl.ai/robots.txt |
prompt_get |
Missing | n/a | not advertised |
prompts_list |
Missing | 35.2 ms | not supported |
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 |
Missing | 35.1 ms | not supported |
server_card |
OK | 242.5 ms | capabilities, description, documentation, endpoint |
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 |
Missing | n/a | no historical snapshot |
tools_list |
OK | 31.4 ms | 5 tool(s) exposed |
transport_compliance_probe |
Warning | 34.0 ms | Issues: missing session id, missing protocol header (bad protocol=400). |
utility_coverage_probe |
Missing | 33.6 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": [],
"safeguard_count": 0,
"summary": {
"bulk_access_tools": 0,
"capability_distribution": {
"exec": 3,
"network": 5,
"read": 4
},
"destructive_tools": 0,
"egress_tools": 0,
"exec_tools": 3,
"high_risk_tools": 0,
"risk_distribution": {
"critical": 0,
"high": 0,
"low": 0,
"medium": 5
},
"secret_tools": 0,
"tool_count": 5
}
},
"latency_ms": null,
"status": "error"
},
"advanced_capabilities_probe": {
"details": {
"capabilities": {
"completions": false,
"elicitation": false,
"prompts": false,
"resource_links": false,
"resources": false,
"roots": false,
"sampling": false,
"structured_outputs": false
},
"enabled": [],
"enabled_count": 0,
"initialize_capability_keys": [
"tools"
]
},
"latency_ms": null,
"status": "missing"
},
"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": 0,
"tool_count": 5,
"transport": "streamable-http"
},
"latency_ms": null,
"status": "warning"
},
"connector_replay_probe": {
"details": {
"reason": "no_historical_snapshot"
},
"latency_ms": null,
"status": "missing"
},
"determinism_probe": {
"details": {
"attempts": 2,
"baseline_signature": "9325f75ff01178bb7da81a699f0fac373eebf958d65957657b5e666af715fabd",
"errors": [],
"matches": 2,
"stable_ratio": 1.0,
"successful": 2
},
"latency_ms": 34.5,
"status": "ok"
},
"initialize": {
"details": {
"headers": {
"content-type": "application/json"
},
"http_status": 200,
"payload": {
"id": 1,
"jsonrpc": "2.0",
"result": {
"capabilities": {
"tools": {
"listChanged": false
}
},
"instructions": "Look up end-of-life status for enterprise datacenter hardware (Cisco, Dell, HPE, Fortinet, IBM, Juniper, and more) by part number or product family. Every date is backed by a linked vendor bulletin \u2014 nothing is estimated, and unknown parts return found:false. Confirm critical dates at the sourceUrl before making support or purchasing decisions.",
"protocolVersion": "2025-03-26",
"serverInfo": {
"name": "eosl",
"title": "EOSL.ai \u2014 Hardware End-of-Life Database",
"version": "1.0.0"
}
}
},
"url": "https://eosl.ai/mcp"
},
"latency_ms": 121.03,
"status": "ok"
},
"interactive_flow_probe": {
"details": {
"oauth_supported": false,
"prompt_available": false,
"risk_hits": [],
"safe_hits": []
},
"latency_ms": null,
"status": "missing"
},
"oauth_authorization_server": {
"details": {
"reason": "no_authorization_server"
},
"latency_ms": null,
"status": "missing"
},
"oauth_protected_resource": {
"details": {
"error": "Client error '404 Not Found' for url 'https://eosl.ai/.well-known/oauth-protected-resource'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
"url": "https://eosl.ai/.well-known/oauth-protected-resource"
},
"latency_ms": 93.66,
"status": "error"
},
"official_registry_probe": {
"details": {
"direct_match": true,
"official_peer_count": 1,
"registry_identifier": "ai.eosl/eosl",
"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://eosl.ai/robots.txt"
},
"latency_ms": 100.83,
"status": "ok"
},
"prompt_get": {
"details": {
"reason": "not_advertised"
},
"latency_ms": null,
"status": "missing"
},
"prompts_list": {
"details": {
"headers": {
"content-type": "application/json"
},
"http_status": 200,
"payload": {
"error": {
"code": -32601,
"message": "Method not found: prompts/list"
},
"id": 3,
"jsonrpc": "2.0"
},
"reason": "not_supported",
"url": "https://eosl.ai/mcp"
},
"latency_ms": 35.2,
"status": "missing"
},
"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": "eosl",
"server_card_version": "1.0.0"
},
"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": {
"error": {
"code": -32601,
"message": "Method not found: resources/list"
},
"id": 5,
"jsonrpc": "2.0"
},
"reason": "not_supported",
"url": "https://eosl.ai/mcp"
},
"latency_ms": 35.06,
"status": "missing"
},
"server_card": {
"details": {
"headers": {
"content-type": "application/json"
},
"http_status": 200,
"payload": {
"capabilities": {
"tools": {
"listChanged": false
}
},
"description": "Source-backed hardware end-of-sale / end-of-service-life lookups by part number. Free, no auth; every date links to the vendor bulletin.",
"documentation": "https://eosl.ai/mcp/",
"endpoint": "https://eosl.ai/mcp",
"protocolVersion": "2025-06-18",
"serverInfo": {
"name": "eosl",
"title": "EOSL.ai \u2014 Hardware End-of-Life Database",
"version": "1.0.0"
},
"transport": "streamable-http"
},
"url": "https://eosl.ai/.well-known/mcp/server-card.json"
},
"latency_ms": 242.48,
"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": {
"current_tool_count": 5,
"reason": "no_historical_snapshot"
},
"latency_ms": null,
"status": "missing"
},
"tools_list": {
"details": {
"headers": {
"content-type": "application/json"
},
"http_status": 200,
"payload": {
"id": 2,
"jsonrpc": "2.0",
"result": {
"tools": [
{
"description": "Look up one hardware part number in the EOSL.ai database. Returns support status, End-of-Sale and End-of-Service-Life dates, support runway score, and the primary vendor bulletin URL backing the dates. Matching is exact, then punctuation-insensitive, then Fortinet short-SKU aliases (FG-60E -> FortiGate-60E). Returns found:false rather than guessing.",
"inputSchema": {
"properties": {
"part_number": {
"description": "Vendor part number / SKU, e.g. \"WS-C3850-48P-S\" or \"FG-100F\".",
"type": "string"
},
"vendor": {
"description": "Optional vendor hint, e.g. \"Cisco\". Restricts the match to that vendor.",
"type": "string"
}
},
"required": [
"part_number"
],
"type": "object"
},
"name": "lookup_part"
},
{
"description": "Check up to 200 part numbers in one call. Returns a per-part row (status, EOSL date, source URL, page URL) plus summary counts: past, endingSoon, supported, active, notFound.",
"inputSchema": {
"properties": {
"part_numbers": {
"description": "Part numbers to check (deduplicated; max 200).",
"items": {
"type": "string"
},
"maxItems": 200,
"minItems": 1,
"type": "array"
}
},
"required": [
"part_numbers"
],
"type": "object"
},
"name": "bulk_check"
},
{
"description": "Search tracked product families by vendor, product line, or series name (case-insensitive substring, e.g. \"nexus 9300\"). Returns up to 10 families with status, EOSL window, and page URL. Use get_family with a returned slug for the full record.",
"inputSchema": {
"properties": {
"query": {
"description": "Search text, 1-120 characters.",
"maxLength": 120,
"minLength": 1,
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "search_models"
},
{
"description": "Fetch the full source-backed record for one product family by slug (from search_models or lookup_part pageUrl): lifecycle dates per SKU group, every part number, support runway score factors, and the vendor bulletin URLs.",
"inputSchema": {
"properties": {
"slug": {
"description": "Family slug, e.g. \"cisco-catalyst-3850\".",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "get_family"
},
{
"description": "List all vendors tracked by EOSL.ai with family counts and vendor page URLs.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "list_vendors"
}
]
}
},
"url": "https://eosl.ai/mcp"
},
"latency_ms": 31.45,
"status": "ok"
},
"transport_compliance_probe": {
"details": {
"bad_protocol_error": null,
"bad_protocol_headers": {
"content-type": "application/json"
},
"bad_protocol_payload": {
"error": {
"code": -32600,
"message": "Unsupported MCP-Protocol-Version: 1999-99-99. Supported: 2025-06-18, 2025-03-26, 2024-11-05."
},
"id": null,
"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": 34.02,
"status": "warning"
},
"utility_coverage_probe": {
"details": {
"completions": {
"advertised": false,
"live_probe": "not_executed",
"sample_target": null
},
"initialize_capability_keys": [
"tools"
],
"pagination": {
"metadata_signal": false,
"next_cursor_methods": [],
"supported": false
},
"tasks": {
"advertised": false,
"http_status": 200,
"probe_status": "missing"
}
},
"latency_ms": 33.57,
"status": "missing"
}
},
"failures": {
"oauth_authorization_server": {
"reason": "no_authorization_server"
},
"oauth_protected_resource": {
"error": "Client error '404 Not Found' for url 'https://eosl.ai/.well-known/oauth-protected-resource'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/404",
"url": "https://eosl.ai/.well-known/oauth-protected-resource"
},
"openid_configuration": {
"reason": "no_authorization_server"
}
},
"remote_url": "https://eosl.ai/mcp",
"server_card_payload": {
"capabilities": {
"tools": {
"listChanged": false
}
},
"description": "Source-backed hardware end-of-sale / end-of-service-life lookups by part number. Free, no auth; every date links to the vendor bulletin.",
"documentation": "https://eosl.ai/mcp/",
"endpoint": "https://eosl.ai/mcp",
"protocolVersion": "2025-06-18",
"serverInfo": {
"name": "eosl",
"title": "EOSL.ai \u2014 Hardware End-of-Life Database",
"version": "1.0.0"
},
"transport": "streamable-http"
},
"server_identifier": "ai.eosl/eosl"
}
Known versions
1.0.0
Validation history
Trend history appears after at least two validation runs. This avoids presenting a one-point validation as a trend.
Validation timeline
| Validated | Summary | Score | Protocol | Auth mode | Tools | High-risk tools | Changes |
|---|---|---|---|---|---|---|---|
| Aug 05, 2026 02:31:04 AM UTC | Healthy | 67.5 | 2025-03-26 | public | 5 | 0 | none |
Recent validation runs
| Started | Status | Summary | Latency | Checks |
|---|---|---|---|---|
| Aug 05, 2026 02:31:03 AM UTC | Completed | Healthy | 803.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 |
Public server reputation
Incident & change feed
| Timestamp | Event | Details |
|---|---|---|
| Aug 05, 2026 02:31:04 AM UTC | Latest validation: healthy | Score 67.5 with status healthy. |
Capabilities
- OAuth:
- DCR/CIMD:
- Prompts:
- Homepage: https://eosl.ai/mcp/
- Docs: none
- Support: none
- Icon: none
- Remote endpoint: https://eosl.ai/mcp
- Server card: none
Benchmark tasks
| Benchmark task | Status | Evidence |
|---|---|---|
| Discover tools | Passes |
|
| Read-only fetch flow | Likely to fail |
|
| OAuth-required connect | Degraded |
|
| Safe write flow with confirmation | Likely to fail |
|
Utility coverage
Transport compliance drilldown
Issues: missing_session_id, missing_protocol_header
Request association
Connector replay
Required-argument replay breaks
| Tool | Added required args | Removed required args |
|---|---|---|
| No required-argument replay breaks detected. | ||
Output-schema replay breaks
| Tool | Removed properties | Added properties |
|---|---|---|
| No output-schema replay breaks detected. | ||
Tool snapshot diff & changelog
Need at least two validation runs before building a tool changelog.
Validation diff
Need at least two validation runs before diffing changes.
Registry & provenance divergence
| Field | Registry | Live server card |
|---|---|---|
| Title | n/a | eosl |
| Version | n/a | 1.0.0 |
| Homepage | n/a | n/a |
Active alerts
No active alerts for the current server state.
Aliases & registry graph
| Identifier | Source | Canonical | Score |
|---|---|---|---|
ai.eosl/eosl |
official_registry | yes | 67.5 |
Alias consolidation
Source disagreements
| Field | What differs | Observed values |
|---|---|---|
| No source disagreements detected. | ||
Fix it
Why this score?
Algorithmic score breakdown
Actionable remediation
| Severity | Remediation | Why it matters | Recommended action |
|---|---|---|---|
| High | Add confirmation and dry-run semantics for risky actions | High-risk write, delete, exec, or egress tools should communicate safeguards clearly. | Add an explicit confirm/dry-run parameter or two-step confirmation flow to write, delete, exec, and egress-capable tools before they can make destructive changes.Playbook
|
| 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
|
| 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. | Only send roots/list, sampling/createMessage, or elicitation/create requests while handling an active client-initiated request, never on idle sessions.Playbook
|
| 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
|
| High | Keep connector refreshes backward compatible | Managed connector clients freeze tool snapshots, so removed tools, new required args, and breaking output changes can break published integrations after refresh. | Avoid removing tools, adding new required arguments, or changing outputSchema for tools already published to connector directories without a version bump.Playbook
|
| 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
|
| High | Stop asking users to paste secrets directly | Public MCP servers should prefer OAuth or browser-based auth guidance over in-band secret collection. | |
| Medium | Adopt a current MCP protocol revision | Older protocol revisions reduce compatibility with newer clients and registry programs. | Advertise a current MCP protocol revision (2025-06-18 or later) in both the initialize response and the MCP-Protocol-Version header.Playbook
|
| Medium | Close connector-publishing gaps | Connector catalogs care about protocol recency, session behavior, auth clarity, and tool-surface stability. | |
| 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
|
| 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
|
| Medium | Reduce tool-surface churn | Frequent add/remove or output-shape drift makes published connectors and cached tool snapshots brittle. | Keep tool names, required arguments, and output schemas stable between deploys, and publish a changelog entry when they must change.Playbook
|
| Medium | Repair prompts/list or stop advertising prompts | Prompt metadata should either work live or be removed from the advertised capability set. | Only advertise prompts if prompts/list works and prompt arguments are documented.Playbook
|
| Medium | Repair resources/list or stop advertising resources | Resource metadata should either work live or be removed from the advertised capability set. | Only advertise resources if resources/list works and resources expose stable URIs/types.Playbook
|
| Medium | Support resumable HTTP sessions cleanly | Modern MCP clients increasingly expect resumable session behavior on streamable HTTP transports. | Persist session state keyed by Mcp-Session-Id and honor Last-Event-ID on GET reconnects so clients can resume a dropped Streamable HTTP session.Playbook
|
| 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
|
| Low | Publish newer MCP capability signals | Roots, sampling, elicitation, structured outputs, and related metadata improve client understanding and ranking. | Advertise only the advanced capabilities (roots, sampling, elicitation) you have actually implemented end to end in the initialize capabilities object.Playbook
|
Point loss breakdown
| Component | Current | Points missing |
|---|---|---|
| Recovery Semantics | 0/4 | -4.0 |
| Execution Sandbox Safety | 0/4 | -4.0 |
| Advanced Capability Coverage | 0/4 | -4.0 |
| Utility Coverage | 1/4 | -3.0 |
| Trust Confidence | 1.8/4 | -2.2 |
| Transport Compliance | 2/4 | -2.0 |
| Spec Recency | 2/4 | -2.0 |
| Schema Completeness | 2/4 | -2.0 |
| Result Shape Stability | 2/4 | -2.0 |
| Resource Contract | 2/4 | -2.0 |
| Registry Consistency | 2/4 | -2.0 |
| Rate Limit Semantics | 2/4 | -2.0 |
Compatibility profiles
Connector URL: https://eosl.ai/mcp # No OAuth metadata detected. # Server: ai.eosl/eosl
{
"mcpServers": {
"eosl": {
"command": "npx",
"args": ["mcp-remote", "https://eosl.ai/mcp"]
}
}
}
smithery mcp add "https://eosl.ai/mcp"
curl -sS https://eosl.ai/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"}}}'
Governance
MCP TrustOps
TrustOps turns this report into operational controls: freshness SLAs, authenticated validation, semantic benchmarks, policy exports, alert subscriptions, badges, cost/compliance metadata, and runtime routing. Fresh trusted index decisions stay separate from long-tail inventory so stale scores do not masquerade as current evidence.
/v1/decideAlert subscription types
MCP Runtime hosting
Verify Hosted MCP turns a trusted server report into a managed remote MCP endpoint with GitHub deployment provenance, sandbox policy, encrypted secrets, release history, rollback, and audit/usage events.
/hosted/{namespace}/{name}/mcp| Deployment | Status | Endpoint | Release |
|---|---|---|---|
| No hosted runtime deployments yet. | |||
Authenticated validation sessions
Public validation is free. Authenticated validation is paid and proves scoped behavior, write-action safeguards, and authenticated tool execution.
/v1/verify/v1/ci/previewInstall snippets
Connector URL: https://eosl.ai/mcp # No OAuth metadata detected. # Server: ai.eosl/eosl
{
"mcpServers": {
"eosl": {
"command": "npx",
"args": ["mcp-remote", "https://eosl.ai/mcp"]
}
}
}
smithery mcp add "https://eosl.ai/mcp"
curl -sS https://eosl.ai/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
tools/list, prompts/list, and resources/list checks.ai.eosl/eosl.