AnomalyArmor
Data observability tools for engineering teams: alerts, freshness, schema drift, lineage, quality.
Executive verdict
Current trust snapshot
trustsnap_60c26e434d80dcefOwn this MCP?
Claim ownership, prove control with a GitHub, DNS, or HTTP token challenge, revalidate now, publish a badge, and configure monitoring.
POST /v1/servers/ai.anomalyarmor/armor-mcp/revalidateBadge embed
[](https://verify.sentinelsignal.io/servers/ai.anomalyarmor/armor-mcp)
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/routeAlert subscription types
Production readiness class
Evidence confidence
Recommended for
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• Auth Requiredtools_list• Errortransport_compliance_probe• Errorstep_up_auth_probe• Warningconnector_replay_probe• Missing — Frozen tool snapshots must survive refresh.request_association_probe• Missing — Roots, sampling, and elicitation should stay request-scoped.
Evidence provenance
initialize• Auth Requiredtools_list• Errortransport_compliance_probe• Error
Evidence provenance
action_safety_probe• OK
Evidence provenance
tool_snapshot_probe• Missingconnector_replay_probe• Missing
Why compatibility is limited by client
Remediation checklist
- No explicit blockers recorded.
Remediation checklist
- No explicit blockers recorded.
Remediation checklist
- No explicit blockers recorded.
Verdict traces
server_failing• critical • Latest validation is failing
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 |
Not client-compatible | initialize, tools_list, transport_compliance_probe | live_validation | none |
unsafe_for_write_actions |
Publishing allowed | 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: No
- Oauth Configured: Yes
- Admin Refresh Required: No
- Safe For Company Knowledge: No
- Safe For Messages Api Remote Mcp: No
- Search Fetch Only: No
- Write Actions Present: No
- Oauth Configured: Yes
- Admin Refresh Required: No
- Safe For Company Knowledge: No
- Safe For Messages Api Remote Mcp: No
Compatibility fixtures
- remote_http_endpoint: Passes
- oauth_discovery: Passes
- frozen_tool_snapshot_refresh: Passes
- request_association: Passes
- remote_transport: Passes
- tool_discovery: Likely to fail
- auth_connect: Passes
- safe_write_review: Passes
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/previewPublic server reputation
Incident & change feed
| Timestamp | Event | Details |
|---|---|---|
| May 13, 2026 05:39:46 PM UTC | Latest validation: failing | Score 60.5 with status failing. |
| May 13, 2026 05:39:46 PM UTC | Score changed | Score delta +0.3 versus the previous run. |
| May 13, 2026 09:32:04 AM UTC | Score changed | Score delta +0.3 versus the previous run. |
| May 13, 2026 01:30:28 AM UTC | Score changed | Score delta +0.1 versus the previous run. |
Capabilities
- OAuth:
- DCR/CIMD:
- Prompts:
- Homepage: https://www.anomalyarmor.ai
- Docs: none
- Support: none
- Icon: none
- Remote endpoint: https://mcp.anomalyarmor.ai/mcp
- Server card: none
Security posture
Tool capability & risk inventory
No tool inventory available from the latest validation run.
Write-action governance
Status detail: No unsafe write-action governance gaps detected on the latest validation.
| Tool | Risk | Flags | Safeguards |
|---|---|---|---|
| No high-risk tools were detected on the latest run. | |||
Action-controls diff
Need at least two validation runs before diffing action controls.
Why this score?
Algorithmic score breakdown
Compatibility profiles
Connector URL: https://mcp.anomalyarmor.ai/mcp # Complete OAuth in the client when prompted. # Server: ai.anomalyarmor/armor-mcp
{
"mcpServers": {
"armor-mcp": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.anomalyarmor.ai/mcp"]
}
}
}
smithery mcp add "https://mcp.anomalyarmor.ai/mcp"
curl -sS https://mcp.anomalyarmor.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"}}}'
Actionable remediation
| Severity | Remediation | Why it matters | Recommended action |
|---|---|---|---|
| Critical | Ensure tools/list succeeds consistently | Tools discovery is the minimum viable contract for most MCP clients and directories. | Make tools/list succeed unauthenticated when possible, or document the auth flow in the server card.Playbook
|
| Critical | Make initialize deterministic and client-friendly | If initialize fails or requires undocumented auth, many MCP clients cannot connect. | Allow initialize to succeed consistently, or return a deterministic auth-required response with clear metadata.Playbook
|
| Critical | Respond to latest validation is failing | Core MCP flows did not validate successfully on the latest run. | Fix the failing checks first, then revalidate to confirm the recovery path.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. | Inspect the latest validation evidence and resolve the client-visible regression.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. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| 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
|
| 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
|
| 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 | Raise Interface Quality score | How well the tool/resource interface communicates and behaves under automation. | Improve schemas, error contracts, and recovery messages so agents can reason about the surface automatically.Playbook
|
| Medium | Reduce tool-surface churn | Frequent add/remove or output-shape drift makes published connectors and cached tool snapshots brittle. | Inspect the latest validation evidence and resolve the client-visible regression.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. | Inspect the latest validation evidence and resolve the client-visible regression.Playbook
|
| 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
|
Point loss breakdown
| Component | Current | Points missing |
|---|---|---|
| Transport Compliance | 0/4 | -4.0 |
| Tool Surface Design | 0/4 | -4.0 |
| Tool Snapshot Churn | 0/4 | -4.0 |
| Tool Namespace Clarity | 0/4 | -4.0 |
| Tool Capability Clarity | 0/4 | -4.0 |
| Schema Completeness | 0/4 | -4.0 |
| Result Shape Stability | 0/4 | -4.0 |
| Input Sanitization Safety | 0/4 | -4.0 |
| Trust Confidence | 0.6/4 | -3.4 |
| Recovery Semantics | 1.5/4 | -2.5 |
| Error Contract | 1.8/4 | -2.2 |
| Utility Coverage | 2/4 | -2.0 |
Validation diff
Regressed checks: none
Improved checks: none
| Component | Previous | Latest | Delta |
|---|---|---|---|
freshness_confidence_score | 2.5 | 3.0 | 0.5 |
trust_confidence_score | 0.5 | 0.6 | 0.1 |
Tool snapshot diff & changelog
Need at least two validation runs before building a tool changelog.
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. | ||
Transport compliance drilldown
Issues: missing_protocol_header, bad_protocol_not_rejected
Request association
Utility coverage
Benchmark tasks
| Benchmark task | Status | Evidence |
|---|---|---|
| Discover tools | Likely to fail |
|
| Read-only fetch flow | Likely to fail |
|
| OAuth-required connect | Passes |
|
| Safe write flow with confirmation | Passes |
|
Registry & provenance divergence
| Field | Registry | Live server card |
|---|---|---|
| Title | n/a | AnomalyArmor |
| Version | n/a | 0.7.0 |
| Homepage | n/a | n/a |
Active alerts
- Latest validation is failing (critical)
Core MCP flows did not validate successfully on the latest run.
Aliases & registry graph
| Identifier | Source | Canonical | Score |
|---|---|---|---|
ai.anomalyarmor/armor-mcp |
official_registry | yes | 60.55 |
Alias consolidation
Source disagreements
| Field | What differs | Observed values |
|---|---|---|
| No source disagreements detected. | ||
Install snippets
Connector URL: https://mcp.anomalyarmor.ai/mcp # Complete OAuth in the client when prompted. # Server: ai.anomalyarmor/armor-mcp
{
"mcpServers": {
"armor-mcp": {
"command": "npx",
"args": ["mcp-remote", "https://mcp.anomalyarmor.ai/mcp"]
}
}
}
smithery mcp add "https://mcp.anomalyarmor.ai/mcp"
curl -sS https://mcp.anomalyarmor.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.anomalyarmor/armor-mcp.Claims & monitoring
No verified maintainer claim recorded.
Alert routing
| Watch | Team | Channels | Minimum severity |
|---|---|---|---|
| No active watch destinations. | |||
Maintainer analytics
Maintainer response quality
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
Failures
initializeClient error '401 Unauthorized' for url 'https://mcp.anomalyarmor.ai/mcp' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401prompts_listClient error '401 Unauthorized' for url 'https://mcp.anomalyarmor.ai/mcp' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401resources_listClient error '401 Unauthorized' for url 'https://mcp.anomalyarmor.ai/mcp' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401tools_listClient error '401 Unauthorized' for url 'https://mcp.anomalyarmor.ai/mcp' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401transport_compliance_probeIssues: missing protocol header, bad protocol not rejected (bad protocol=401).
Checks
| Check | Status | Latency | Evidence |
|---|---|---|---|
action_safety_probe |
OK | n/a | No high-risk write, destructive, or exec tools detected. |
advanced_capabilities_probe |
Warning | n/a | Only 2 capability signal(s): prompts, resources. |
connector_publishability_probe |
Error | n/a | Publishability blockers: tools list, protocol version, transport compliance, tool surface. |
connector_replay_probe |
Missing | n/a | No connector replay evidence recorded. |
determinism_probe |
Missing | n/a | tools list unavailable |
initialize |
Auth Required | 10.1 ms | Client error '401 Unauthorized' for url 'https://mcp.anomalyarmor.ai/mcp' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 |
interactive_flow_probe |
OK | n/a | Check completed |
oauth_authorization_server |
OK | 333.9 ms | authorization_endpoint, claims_supported, code_challenge_methods_supported, grant_types_supported |
oauth_protected_resource |
OK | 12.7 ms | 1 authorization server(s) |
official_registry_probe |
OK | n/a | Check completed |
openid_configuration |
OK | 124.8 ms | authorization_endpoint, backchannel_logout_supported, claims_supported, code_challenge_methods_supported |
probe_noise_resilience |
OK | 46.0 ms | Fetched https://mcp.anomalyarmor.ai/robots.txt |
prompt_get |
Missing | n/a | no prompt name |
prompts_list |
Auth Required | 58.4 ms | Client error '401 Unauthorized' for url 'https://mcp.anomalyarmor.ai/mcp' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 |
protocol_version_probe |
Missing | n/a | No protocol version was advertised. |
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 | no resource uri |
resources_list |
Auth Required | 48.1 ms | Client error '401 Unauthorized' for url 'https://mcp.anomalyarmor.ai/mcp' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 |
server_card |
OK | 231.8 ms | $schema, authentication, capabilities, description |
session_resume_probe |
Missing | n/a | no session id |
step_up_auth_probe |
Warning | n/a | Scopes=email, offline access, openid, private metadata, +2 more; step-up challenge hints present. |
tool_snapshot_probe |
Missing | n/a | no tools |
tools_list |
Error | 61.0 ms | Client error '401 Unauthorized' for url 'https://mcp.anomalyarmor.ai/mcp' For more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401 |
transport_compliance_probe |
Error | 37.7 ms | Issues: missing protocol header, bad protocol not rejected (bad protocol=401). |
utility_coverage_probe |
OK | 11.6 ms | No completions evidence; pagination supported; tasks auth required. |
Raw evidence view
Show raw JSON evidence
{
"checks": {
"action_safety_probe": {
"details": {
"auth_present": true,
"confirmation_signals": [],
"safeguard_count": 0,
"summary": {
"bulk_access_tools": 0,
"capability_distribution": {},
"destructive_tools": 0,
"egress_tools": 0,
"exec_tools": 0,
"high_risk_tools": 0,
"risk_distribution": {
"critical": 0,
"high": 0,
"low": 0,
"medium": 0
},
"secret_tools": 0,
"tool_count": 0
}
},
"latency_ms": null,
"status": "ok"
},
"advanced_capabilities_probe": {
"details": {
"capabilities": {
"completions": false,
"elicitation": false,
"prompts": true,
"resource_links": false,
"resources": true,
"roots": false,
"sampling": false,
"structured_outputs": false
},
"enabled": [
"prompts",
"resources"
],
"enabled_count": 2,
"initialize_capability_keys": []
},
"latency_ms": null,
"status": "warning"
},
"connector_publishability_probe": {
"details": {
"blockers": [
"tools_list",
"protocol_version",
"transport_compliance",
"tool_surface"
],
"criteria": {
"action_safety": true,
"auth_flow": true,
"connector_replay": true,
"initialize": true,
"protocol_version": false,
"remote_transport": true,
"request_association": true,
"server_card": true,
"session_resume": true,
"step_up_auth": true,
"tool_surface": false,
"tools_list": false,
"transport_compliance": false
},
"high_risk_tools": 0,
"tool_count": 0,
"transport": "streamable-http"
},
"latency_ms": null,
"status": "error"
},
"connector_replay_probe": {
"details": {
"reason": "no_tools"
},
"latency_ms": null,
"status": "missing"
},
"determinism_probe": {
"details": {
"reason": "tools_list_unavailable"
},
"latency_ms": null,
"status": "missing"
},
"initialize": {
"details": {
"error": "Client error '401 Unauthorized' for url 'https://mcp.anomalyarmor.ai/mcp'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401",
"headers": {
"content-type": "application/json",
"www-authenticate": "Bearer error=\"invalid_token\", error_description=\"Authentication failed. The provided bearer token is invalid, expired, or no longer recognized by the server. To resolve: clear authentication tokens in your MCP client and reconnect. Your client should automatically re-register and obtain new tokens.\", resource_metadata=\"https://mcp.anomalyarmor.ai/.well-known/oauth-protected-resource/mcp\""
},
"http_status": 401,
"payload": {},
"url": "https://mcp.anomalyarmor.ai/mcp"
},
"latency_ms": 10.11,
"status": "auth_required"
},
"interactive_flow_probe": {
"details": {
"oauth_supported": true,
"prompt_available": false,
"risk_hits": [],
"safe_hits": [
"oauth"
]
},
"latency_ms": null,
"status": "ok"
},
"oauth_authorization_server": {
"details": {
"headers": {
"content-type": "application/json",
"set-cookie": "__cf_bm=DhBT0NYg9WKyF9k7vKLNfGNIeN7oMkEhyY4U5GFFbb8-1778693986-1.0.1.1-3eTQJEAyVgVFeBFLR6Hk2Yx4Z8SG01DIhQirroSn4BBhDRZMjNntgVnHF_08H9Qm4T2zOEXLNIrVjW8ytKPYyIwrzexC6WJEH.jNt09n_kg; path=/; expires=Wed, 13-May-26 18:09:46 GMT; domain=.clerk.anomalyarmor.ai; HttpOnly; Secure; SameSite=None, _cfuvid=Cnl28voH3UhQ20ypfVnSO7RQ41V4agLYrzqk72Yhf7k-1778693986294-0.0.1.1-604800000; path=/; domain=.clerk.anomalyarmor.ai; HttpOnly; Secure; SameSite=None",
"strict-transport-security": "max-age=63072000;"
},
"http_status": 200,
"payload": {
"authorization_endpoint": "https://clerk.anomalyarmor.ai/oauth/authorize",
"claims_supported": [
"sub",
"iss",
"aud",
"exp",
"iat",
"email",
"name"
],
"code_challenge_methods_supported": [
"S256"
],
"grant_types_supported": [
"authorization_code",
"refresh_token"
],
"id_token_signing_alg_values_supported": [
"RS256"
],
"issuer": "https://clerk.anomalyarmor.ai",
"jwks_uri": "https://clerk.anomalyarmor.ai/.well-known/jwks.json",
"op_tos_uri": "https://clerk.com/legal/standard-terms",
"registration_endpoint": "https://clerk.anomalyarmor.ai/oauth/register",
"response_types_supported": [
"code"
],
"revocation_endpoint": "https://clerk.anomalyarmor.ai/oauth/token/revoke",
"scopes_supported": [
"openid",
"profile",
"email",
"public_metadata",
"private_metadata",
"offline_access"
],
"service_documentation": "https://clerk.com/docs/oauth/scoped-access",
"subject_types_supported": [
"public"
],
"token_endpoint": "https://clerk.anomalyarmor.ai/oauth/token",
"token_endpoint_auth_methods_supported": [
"client_secret_basic",
"none",
"client_secret_post"
],
"ui_locales_supported": [
"en"
]
},
"url": "https://clerk.anomalyarmor.ai/.well-known/oauth-authorization-server"
},
"latency_ms": 333.89,
"status": "ok"
},
"oauth_protected_resource": {
"details": {
"headers": {
"content-type": "application/json"
},
"http_status": 200,
"payload": {
"authorization_servers": [
"https://clerk.anomalyarmor.ai/"
],
"bearer_methods_supported": [
"header"
],
"resource": "https://mcp.anomalyarmor.ai/mcp",
"resource_name": "AnomalyArmor MCP Server",
"scopes_supported": []
},
"url": "https://mcp.anomalyarmor.ai/.well-known/oauth-protected-resource"
},
"latency_ms": 12.68,
"status": "ok"
},
"official_registry_probe": {
"details": {
"direct_match": true,
"official_peer_count": 1,
"registry_identifier": "ai.anomalyarmor/armor-mcp",
"registry_source": "official_registry"
},
"latency_ms": null,
"status": "ok"
},
"openid_configuration": {
"details": {
"headers": {
"content-type": "application/json",
"strict-transport-security": "max-age=63072000;"
},
"http_status": 200,
"payload": {
"authorization_endpoint": "https://clerk.anomalyarmor.ai/oauth/authorize",
"backchannel_logout_supported": false,
"claims_supported": [
"aud",
"iss",
"iat",
"email",
"email_verified",
"family_name",
"name",
"preferred_username",
"sub",
"exp",
"given_name",
"picture"
],
"code_challenge_methods_supported": [
"S256"
],
"frontchannel_logout_supported": false,
"grant_types_supported": [
"authorization_code",
"refresh_token"
],
"id_token_signing_alg_values_supported": [
"RS256"
],
"introspection_endpoint": "https://clerk.anomalyarmor.ai/oauth/token_info",
"issuer": "https://clerk.anomalyarmor.ai",
"jwks_uri": "https://clerk.anomalyarmor.ai/.well-known/jwks.json",
"response_modes_supported": [
"form_post",
"query"
],
"response_types_supported": [
"code"
],
"revocation_endpoint": "https://clerk.anomalyarmor.ai/oauth/token/revoke",
"scopes_supported": [
"email",
"profile",
"public_metadata",
"private_metadata",
"openid",
"offline_access"
],
"subject_types_supported": [
"public"
],
"token_endpoint": "https://clerk.anomalyarmor.ai/oauth/token",
"token_endpoint_auth_methods_supported": [
"client_secret_basic",
"none",
"client_secret_post"
],
"userinfo_endpoint": "https://clerk.anomalyarmor.ai/oauth/userinfo"
},
"url": "https://clerk.anomalyarmor.ai/.well-known/openid-configuration"
},
"latency_ms": 124.75,
"status": "ok"
},
"probe_noise_resilience": {
"details": {
"headers": {
"content-type": "text/plain; charset=utf-8"
},
"http_status": 200,
"url": "https://mcp.anomalyarmor.ai/robots.txt"
},
"latency_ms": 45.95,
"status": "ok"
},
"prompt_get": {
"details": {
"reason": "no_prompt_name"
},
"latency_ms": null,
"status": "missing"
},
"prompts_list": {
"details": {
"error": "Client error '401 Unauthorized' for url 'https://mcp.anomalyarmor.ai/mcp'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401",
"headers": {
"content-type": "application/json",
"www-authenticate": "Bearer error=\"invalid_token\", error_description=\"Authentication failed. The provided bearer token is invalid, expired, or no longer recognized by the server. To resolve: clear authentication tokens in your MCP client and reconnect. Your client should automatically re-register and obtain new tokens.\", resource_metadata=\"https://mcp.anomalyarmor.ai/.well-known/oauth-protected-resource/mcp\""
},
"http_status": 401,
"payload": {},
"reason": "auth_required",
"url": "https://mcp.anomalyarmor.ai/mcp"
},
"latency_ms": 58.37,
"status": "auth_required"
},
"protocol_version_probe": {
"details": {
"latest_known_version": "2025-11-25",
"reason": "no_protocol_version",
"validator_protocol_version": "2025-03-26"
},
"latency_ms": null,
"status": "missing"
},
"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": "AnomalyArmor",
"server_card_version": "0.7.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": "no_resource_uri"
},
"latency_ms": null,
"status": "missing"
},
"resources_list": {
"details": {
"error": "Client error '401 Unauthorized' for url 'https://mcp.anomalyarmor.ai/mcp'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401",
"headers": {
"content-type": "application/json",
"www-authenticate": "Bearer error=\"invalid_token\", error_description=\"Authentication failed. The provided bearer token is invalid, expired, or no longer recognized by the server. To resolve: clear authentication tokens in your MCP client and reconnect. Your client should automatically re-register and obtain new tokens.\", resource_metadata=\"https://mcp.anomalyarmor.ai/.well-known/oauth-protected-resource/mcp\""
},
"http_status": 401,
"payload": {},
"reason": "auth_required",
"url": "https://mcp.anomalyarmor.ai/mcp"
},
"latency_ms": 48.06,
"status": "auth_required"
},
"server_card": {
"details": {
"headers": {
"content-type": "application/json"
},
"http_status": 200,
"payload": {
"$schema": "https://modelcontextprotocol.io/schemas/server-card/draft-1.json",
"authentication": {
"oauthProtectedResource": "https://mcp.anomalyarmor.ai/.well-known/oauth-protected-resource/mcp",
"type": "oauth2"
},
"capabilities": {
"prompts": {
"listChanged": true
},
"resources": {
"listChanged": true
},
"tools": {
"categories": [
"catalog",
"destinations",
"freshness",
"alerts",
"health",
"recommendations",
"intelligence"
],
"listChanged": true
}
},
"description": "Data observability tools for AI assistants. Query alerts, monitor freshness, inspect schema changes, and manage destinations via natural language.",
"installation": {
"claudeCode": "claude mcp add anomalyarmor --transport http https://mcp.anomalyarmor.ai/mcp",
"cursor": {
"mcpServers": {
"anomalyarmor": {
"url": "https://mcp.anomalyarmor.ai/mcp"
}
}
},
"local": {
"args": [
"armor-mcp"
],
"command": "uvx",
"env": {
"ARMOR_API_KEY": "aa_live_your_key_here"
}
}
},
"name": "AnomalyArmor",
"serverInfo": {
"description": "Data observability tools for AI assistants. Query alerts, monitor freshness, inspect schema changes, and manage destinations via natural language.",
"documentation": "https://docs.anomalyarmor.ai/integrations/mcp-server",
"homepage": "https://www.anomalyarmor.ai",
"name": "AnomalyArmor",
"title": "AnomalyArmor MCP Server",
"vendor": {
"name": "AnomalyArmor",
"supportEmail": "support@anomalyarmor.ai",
"url": "https://www.anomalyarmor.ai"
},
"version": "0.7.0"
},
"serverUrl": "https://mcp.anomalyarmor.ai/mcp",
"transports": [
{
"preferred": true,
"type": "streamable-http",
"url": "https://mcp.anomalyarmor.ai/mcp"
}
],
"version": "0.7.0"
},
"url": "https://mcp.anomalyarmor.ai/.well-known/mcp/server-card.json"
},
"latency_ms": 231.75,
"status": "ok"
},
"session_resume_probe": {
"details": {
"protocol_version": null,
"reason": "no_session_id",
"resume_expected": false,
"transport": "streamable-http"
},
"latency_ms": null,
"status": "missing"
},
"step_up_auth_probe": {
"details": {
"auth_required_checks": [
"initialize",
"prompts_list",
"resources_list"
],
"broad_scopes": [],
"challenge_headers": [
"Bearer error=\"invalid_token\", error_description=\"Authentication failed. The provided bearer token is invalid, expired, or no longer recognized by the server. To resolve: clear authentication tokens in your MCP client and reconnect. Your client should automatically re-register and obtain new tokens.\", resource_metadata=\"https://mcp.anomalyarmor.ai/.well-known/oauth-protected-resource/mcp\"",
"Bearer error=\"invalid_token\", error_description=\"Authentication failed. The provided bearer token is invalid, expired, or no longer recognized by the server. To resolve: clear authentication tokens in your MCP client and reconnect. Your client should automatically re-register and obtain new tokens.\", resource_metadata=\"https://mcp.anomalyarmor.ai/.well-known/oauth-protected-resource/mcp\"",
"Bearer error=\"invalid_token\", error_description=\"Authentication failed. The provided bearer token is invalid, expired, or no longer recognized by the server. To resolve: clear authentication tokens in your MCP client and reconnect. Your client should automatically re-register and obtain new tokens.\", resource_metadata=\"https://mcp.anomalyarmor.ai/.well-known/oauth-protected-resource/mcp\""
],
"minimal_scope_documented": false,
"oauth_present": true,
"scope_specificity_ratio": 0.1429,
"step_up_signals": [
"Bearer error=\"invalid_token\", error_description=\"Authentication failed. The provided bearer token is invalid, expired, or no longer recognized by the server. To resolve: clear authentication tokens in your MCP client and reconnect. Your client should automatically re-register and obtain new tokens.\", resource_metadata=\"https://mcp.anomalyarmor.ai/.well-known/oauth-protected-resource/mcp\"",
"Bearer error=\"invalid_token\", error_description=\"Authentication failed. The provided bearer token is invalid, expired, or no longer recognized by the server. To resolve: clear authentication tokens in your MCP client and reconnect. Your client should automatically re-register and obtain new tokens.\", resource_metadata=\"https://mcp.anomalyarmor.ai/.well-known/oauth-protected-resource/mcp\"",
"Bearer error=\"invalid_token\", error_description=\"Authentication failed. The provided bearer token is invalid, expired, or no longer recognized by the server. To resolve: clear authentication tokens in your MCP client and reconnect. Your client should automatically re-register and obtain new tokens.\", resource_metadata=\"https://mcp.anomalyarmor.ai/.well-known/oauth-protected-resource/mcp\""
],
"supported_scopes": [
"email",
"offline_access",
"openid",
"private_metadata",
"profile",
"public_metadata"
]
},
"latency_ms": null,
"status": "warning"
},
"tool_snapshot_probe": {
"details": {
"reason": "no_tools"
},
"latency_ms": null,
"status": "missing"
},
"tools_list": {
"details": {
"error": "Client error '401 Unauthorized' for url 'https://mcp.anomalyarmor.ai/mcp'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401",
"headers": {
"content-type": "application/json",
"www-authenticate": "Bearer error=\"invalid_token\", error_description=\"Authentication failed. The provided bearer token is invalid, expired, or no longer recognized by the server. To resolve: clear authentication tokens in your MCP client and reconnect. Your client should automatically re-register and obtain new tokens.\", resource_metadata=\"https://mcp.anomalyarmor.ai/.well-known/oauth-protected-resource/mcp\""
},
"http_status": 401,
"payload": {},
"url": "https://mcp.anomalyarmor.ai/mcp"
},
"latency_ms": 60.97,
"status": "error"
},
"transport_compliance_probe": {
"details": {
"bad_protocol_error": null,
"bad_protocol_headers": {
"content-type": "application/json",
"www-authenticate": "Bearer error=\"invalid_token\", error_description=\"Authentication failed. The provided bearer token is invalid, expired, or no longer recognized by the server. To resolve: clear authentication tokens in your MCP client and reconnect. Your client should automatically re-register and obtain new tokens.\", resource_metadata=\"https://mcp.anomalyarmor.ai/.well-known/oauth-protected-resource/mcp\""
},
"bad_protocol_payload": {
"error": "invalid_token",
"error_description": "Authentication failed. The provided bearer token is invalid, expired, or no longer recognized by the server. To resolve: clear authentication tokens in your MCP client and reconnect. Your client should automatically re-register and obtain new tokens."
},
"bad_protocol_status_code": 401,
"delete_error": null,
"delete_status_code": null,
"expired_session_error": null,
"expired_session_status_code": null,
"issues": [
"missing_protocol_header",
"bad_protocol_not_rejected"
],
"last_event_id_visible": false,
"protocol_header_present": false,
"requested_protocol_version": "2025-03-26",
"session_id_present": false,
"transport": "streamable-http"
},
"latency_ms": 37.74,
"status": "error"
},
"utility_coverage_probe": {
"details": {
"completions": {
"advertised": false,
"live_probe": "not_executed",
"sample_target": null
},
"initialize_capability_keys": [],
"pagination": {
"metadata_signal": true,
"next_cursor_methods": [],
"supported": true
},
"tasks": {
"advertised": false,
"http_status": 401,
"probe_status": "auth_required"
}
},
"latency_ms": 11.56,
"status": "ok"
}
},
"failures": {
"initialize": {
"error": "Client error '401 Unauthorized' for url 'https://mcp.anomalyarmor.ai/mcp'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401",
"headers": {
"content-type": "application/json",
"www-authenticate": "Bearer error=\"invalid_token\", error_description=\"Authentication failed. The provided bearer token is invalid, expired, or no longer recognized by the server. To resolve: clear authentication tokens in your MCP client and reconnect. Your client should automatically re-register and obtain new tokens.\", resource_metadata=\"https://mcp.anomalyarmor.ai/.well-known/oauth-protected-resource/mcp\""
},
"http_status": 401,
"payload": {},
"url": "https://mcp.anomalyarmor.ai/mcp"
},
"prompts_list": {
"error": "Client error '401 Unauthorized' for url 'https://mcp.anomalyarmor.ai/mcp'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401",
"headers": {
"content-type": "application/json",
"www-authenticate": "Bearer error=\"invalid_token\", error_description=\"Authentication failed. The provided bearer token is invalid, expired, or no longer recognized by the server. To resolve: clear authentication tokens in your MCP client and reconnect. Your client should automatically re-register and obtain new tokens.\", resource_metadata=\"https://mcp.anomalyarmor.ai/.well-known/oauth-protected-resource/mcp\""
},
"http_status": 401,
"payload": {},
"reason": "auth_required",
"url": "https://mcp.anomalyarmor.ai/mcp"
},
"resources_list": {
"error": "Client error '401 Unauthorized' for url 'https://mcp.anomalyarmor.ai/mcp'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401",
"headers": {
"content-type": "application/json",
"www-authenticate": "Bearer error=\"invalid_token\", error_description=\"Authentication failed. The provided bearer token is invalid, expired, or no longer recognized by the server. To resolve: clear authentication tokens in your MCP client and reconnect. Your client should automatically re-register and obtain new tokens.\", resource_metadata=\"https://mcp.anomalyarmor.ai/.well-known/oauth-protected-resource/mcp\""
},
"http_status": 401,
"payload": {},
"reason": "auth_required",
"url": "https://mcp.anomalyarmor.ai/mcp"
},
"tools_list": {
"error": "Client error '401 Unauthorized' for url 'https://mcp.anomalyarmor.ai/mcp'\nFor more information check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/401",
"headers": {
"content-type": "application/json",
"www-authenticate": "Bearer error=\"invalid_token\", error_description=\"Authentication failed. The provided bearer token is invalid, expired, or no longer recognized by the server. To resolve: clear authentication tokens in your MCP client and reconnect. Your client should automatically re-register and obtain new tokens.\", resource_metadata=\"https://mcp.anomalyarmor.ai/.well-known/oauth-protected-resource/mcp\""
},
"http_status": 401,
"payload": {},
"url": "https://mcp.anomalyarmor.ai/mcp"
},
"transport_compliance_probe": {
"bad_protocol_error": null,
"bad_protocol_headers": {
"content-type": "application/json",
"www-authenticate": "Bearer error=\"invalid_token\", error_description=\"Authentication failed. The provided bearer token is invalid, expired, or no longer recognized by the server. To resolve: clear authentication tokens in your MCP client and reconnect. Your client should automatically re-register and obtain new tokens.\", resource_metadata=\"https://mcp.anomalyarmor.ai/.well-known/oauth-protected-resource/mcp\""
},
"bad_protocol_payload": {
"error": "invalid_token",
"error_description": "Authentication failed. The provided bearer token is invalid, expired, or no longer recognized by the server. To resolve: clear authentication tokens in your MCP client and reconnect. Your client should automatically re-register and obtain new tokens."
},
"bad_protocol_status_code": 401,
"delete_error": null,
"delete_status_code": null,
"expired_session_error": null,
"expired_session_status_code": null,
"issues": [
"missing_protocol_header",
"bad_protocol_not_rejected"
],
"last_event_id_visible": false,
"protocol_header_present": false,
"requested_protocol_version": "2025-03-26",
"session_id_present": false,
"transport": "streamable-http"
}
},
"remote_url": "https://mcp.anomalyarmor.ai/mcp",
"server_card_payload": {
"$schema": "https://modelcontextprotocol.io/schemas/server-card/draft-1.json",
"authentication": {
"oauthProtectedResource": "https://mcp.anomalyarmor.ai/.well-known/oauth-protected-resource/mcp",
"type": "oauth2"
},
"capabilities": {
"prompts": {
"listChanged": true
},
"resources": {
"listChanged": true
},
"tools": {
"categories": [
"catalog",
"destinations",
"freshness",
"alerts",
"health",
"recommendations",
"intelligence"
],
"listChanged": true
}
},
"description": "Data observability tools for AI assistants. Query alerts, monitor freshness, inspect schema changes, and manage destinations via natural language.",
"installation": {
"claudeCode": "claude mcp add anomalyarmor --transport http https://mcp.anomalyarmor.ai/mcp",
"cursor": {
"mcpServers": {
"anomalyarmor": {
"url": "https://mcp.anomalyarmor.ai/mcp"
}
}
},
"local": {
"args": [
"armor-mcp"
],
"command": "uvx",
"env": {
"ARMOR_API_KEY": "aa_live_your_key_here"
}
}
},
"name": "AnomalyArmor",
"serverInfo": {
"description": "Data observability tools for AI assistants. Query alerts, monitor freshness, inspect schema changes, and manage destinations via natural language.",
"documentation": "https://docs.anomalyarmor.ai/integrations/mcp-server",
"homepage": "https://www.anomalyarmor.ai",
"name": "AnomalyArmor",
"title": "AnomalyArmor MCP Server",
"vendor": {
"name": "AnomalyArmor",
"supportEmail": "support@anomalyarmor.ai",
"url": "https://www.anomalyarmor.ai"
},
"version": "0.7.0"
},
"serverUrl": "https://mcp.anomalyarmor.ai/mcp",
"transports": [
{
"preferred": true,
"type": "streamable-http",
"url": "https://mcp.anomalyarmor.ai/mcp"
}
],
"version": "0.7.0"
},
"server_identifier": "ai.anomalyarmor/armor-mcp"
}
Known versions
0.6.1
Validation history
| Timestamp | Status | Score | Latency | Tools |
|---|---|---|---|---|
| May 13, 2026 05:39:46 PM UTC | Failing | 60.5 | 986.0 ms | 0 |
| May 13, 2026 09:32:04 AM UTC | Failing | 60.2 | 585.7 ms | 0 |
| May 13, 2026 01:30:28 AM UTC | Failing | 59.9 | 841.9 ms | 0 |
| May 12, 2026 05:28:57 PM UTC | Failing | 59.8 | 872.0 ms | 0 |
| May 12, 2026 09:21:10 AM UTC | Failing | 59.7 | 612.3 ms | 0 |
| May 12, 2026 01:20:21 AM UTC | Failing | 56.0 | 611.8 ms | 0 |
Validation timeline
| Validated | Summary | Score | Protocol | Auth mode | Tools | High-risk tools | Changes |
|---|---|---|---|---|---|---|---|
| May 13, 2026 05:39:46 PM UTC | Failing | 60.5 | unknown | oauth_required | 0 | 0 | none |
| May 13, 2026 09:32:04 AM UTC | Failing | 60.2 | unknown | oauth_required | 0 | 0 | none |
| May 13, 2026 01:30:28 AM UTC | Failing | 59.9 | unknown | oauth_required | 0 | 0 | none |
| May 12, 2026 05:28:57 PM UTC | Failing | 59.8 | unknown | oauth_required | 0 | 0 | none |
| May 12, 2026 09:21:10 AM UTC | Failing | 59.7 | unknown | oauth_required | 0 | 0 | none |
| May 12, 2026 01:20:21 AM UTC | Failing | 56.0 | unknown | oauth_required | 0 | 0 | none |
Recent validation runs
| Started | Status | Summary | Latency | Checks |
|---|---|---|---|---|
| May 13, 2026 05:39:45 PM UTC | Completed | Failing | 986.0 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 |
| May 13, 2026 09:32:03 AM UTC | Completed | Failing | 585.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 |
| May 13, 2026 01:30:28 AM UTC | Completed | Failing | 841.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 |
| May 12, 2026 05:28:56 PM UTC | Completed | Failing | 872.0 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 |
| May 12, 2026 09:21:09 AM UTC | Completed | Failing | 612.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 |
| May 12, 2026 01:20:21 AM UTC | Completed | Failing | 611.8 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 |