Network Evidence MCP
Read-only offline network profiles, caller-supplied Discovery and historical/synthetic cases.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"network-evidence": {
"url": "https://network-evidence-mcp-preview-jrkc26rjga-ew.a.run.app/mcp"
}
}
}Puntos de conexión remotos
https://network-evidence-mcp-preview-jrkc26rjga-ew.a.run.app/mcpstreamable-httphttps://network-evidence-mcp-jrkc26rjga-ew.a.run.app/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (3)
🟢list_network_profiles
Returns the FIXED public profile inventory (Base mainnet eip155:8453, Base Sepolia eip155:84532, Solana mainnet, Solana devnet, zkSYS Tanenbaum testnet eip155:57057 replay-only) with each resolver manifest's DECLARED capabilities and the truth boundaries. Nothing is observed: every currentSupport/currentAvailability is 'not_assessed'. Profile membership is not live availability. Takes no arguments.
Esquema de entrada
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"schema": {
"type": "string",
"const": "ne-mcp-network-profiles/v0.1"
},
"liveObservation": {
"type": "boolean",
"const": false
},
"inventoryOrder": {
"type": "string"
},
"profiles": {
"type": "array",
"items": {
"type": "object",
"properties": {
"profileId": {
"type": "string"
},
"label": {
"type": "string"
},
"networkId": {
"type": "string"
},
"chainId": {
"type": [
"number",
"null"
]
},
"genesisHash": {
"type": [
"string",
"null"
]
},
"environment": {
"type": "string",
"enum": [
"mainnet",
"testnet"
]
},
"family": {
"type": "string",
"enum": [
"opstack",
"solana",
"zksys"
]
},
"source": {
"type": "string"
},
"resolverManifest": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"version": {
"type": "string"
},
"digest": {
"type": "string"
},
"package": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"version",
"digest",
"package"
],
"additionalProperties": false
},
"acceptedObservationKinds": {
"type": "array",
"items": {
"type": "string",
"enum": [
"probe",
"historical_replay"
]
}
},
"capabilities": {
"type": "array",
"items": {
"type": "object",
"properties": {
"capability": {
"type": "string"
},
"declaredByResolverManifest": {
"type": "boolean"
},
"currentSupport": {
"type": "string",
"const": "not_assessed"
},
"currentAvailability": {
"type": "string",
"const": "not_assessed"
}
},
"required": [
"capability",
"declaredByResolverManifest",
"currentSupport",
"currentAvailability"
],
"additionalProperties": false
}
},
"currentStatus": {
"type": "string",
"const": "not_assessed"
},
"doesNotEstablish": {
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"profileId",
"label",
"networkId",
"chainId",
"genesisHash",
"environment",
"family",
"source",
"resolverManifest",
"acceptedObservationKinds",
"capabilities",
"currentStatus",
"doesNotEstablish",
"notes"
],
"additionalProperties": false
}
},
"truthBoundaries": {
"type": "array",
"items": {
"type": "string"
}
},
"howToAssess": {
"type": "string"
}
},
"required": [
"schema",
"liveObservation",
"inventoryOrder",
"profiles",
"truthBoundaries",
"howToAssess"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢discover_network_candidates(requestId, generatedAt, requirements, candidates, scope)
Runs the real @nec/discovery discoverNetworks (classification by @nec/core only) over 1..16 EXPLICIT, complete, already-derived candidate contexts you supply (network + ResolverManifest + CapabilitySnapshot in nec-wire-json-v1 form) and Core DiscoveryRequirements. Returns the Core-built, Core-verified DiscoverNetworksResult with digests and per-candidate eligible/conditional/ineligible copied from Core. The outcome depends ONLY on the supplied snapshots; this server observes nothing and does NOT choose, rank or recommend a network — you choose, then run the resolver-specific evidence preflight. Invalid or incoherent contexts fail closed with a coded error.
Esquema de entrada
{
"type": "object",
"properties": {
"requestId": {
"type": "string",
"minLength": 1,
"maxLength": 256,
"description": "Becomes DiscoverNetworksResult.requestId (NEC identifier grammar, e.g. 'disc-1')."
},
"generatedAt": {
"type": "string",
"maxLength": 64,
"description": "Explicit result time, exactly YYYY-MM-DDTHH:mm:ss.sssZ. The server reads no clock."
},
"requirements": {
"type": "object",
"properties": {
"requirements": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"capability": {
"type": "string",
"enum": [
"execution",
"observedEffects",
"dataBinding",
"settlement",
"finality",
"executionModel",
"accountModel",
"gasModel",
"simulation",
"batching"
],
"description": "Closed Core capability vocabulary."
},
"strength": {
"type": "string",
"enum": [
"required",
"desired"
]
}
},
"required": [
"capability",
"strength"
],
"additionalProperties": false
},
"description": "Required unsatisfied/unknown => ineligible; desired unsatisfied/unknown => conditional (Core semantics)."
},
"networkAllowlist": {
"description": "Core request semantics: unlisted candidates are reported ineligible.",
"maxItems": 64,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"networkDenylist": {
"description": "Core request semantics: listed candidates are reported ineligible.",
"maxItems": 64,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 128
}
},
"metadata": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"required": [
"requirements"
],
"additionalProperties": false,
"description": "Core DiscoveryRequirements (validated by @nec/core)."
},
"candidates": {
"minItems": 1,
"maxItems": 16,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 256,
"description": "Opaque presentation id (NEC identifier grammar), unique in the request."
},
"environment": {
"type": "string",
"enum": [
"mainnet",
"testnet"
],
"description": "Presentation-only label; never evidence. Must not contradict the fixed profile for a listed network (e.g. zkSYS eip155:57057 is testnet only)."
},
"network": {
"type": "object",
"properties": {
"networkId": {
"type": "string",
"description": "CAIP-2 style network id, e.g. eip155:84532 or solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1."
},
"observedAt": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "NetworkAnchor: { timestamp?, blockNumber? (decimal string), blockId? }."
}
},
"required": [
"networkId",
"observedAt"
],
"additionalProperties": {},
"description": "Core NetworkFingerprint in nec-wire-json-v1 form. MUST be canonically identical to snapshot.network (full fingerprint equality; same networkId alone is insufficient)."
},
"manifest": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"version": {
"type": "string"
},
"digest": {
"type": "string",
"description": "sha256:<64 hex>; verified by @nec/core."
},
"networkFamilies": {
"type": "array",
"items": {
"type": "string"
}
},
"implementation": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"supportedCapabilities": {
"type": "array",
"items": {
"type": "string"
}
},
"sourceRequirements": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
}
},
"required": [
"id",
"version",
"digest",
"networkFamilies",
"implementation",
"supportedCapabilities",
"sourceRequirements"
],
"additionalProperties": {},
"description": "The COMPLETE Core ResolverManifest behind snapshot.resolver (nec-wire-json-v1)."
},
"snapshot": {
"type": "object",
"properties": {
"schemaVersion": {
"type": "string",
"const": "0.1"
},
"id": {
"type": "string"
},
"generatedAt": {
"type": "string"
},
"network": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"evidenceCapabilities": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"executionCapabilities": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"evidence": {
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
}
},
"resolver": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"artifactDigest": {
"type": "string"
}
},
"required": [
"schemaVersion",
"id",
"generatedAt",
"network",
"evidenceCapabilities",
"executionCapabilities",
"evidence",
"resolver",
"artifactDigest"
],
"additionalProperties": {},
"description": "The COMPLETE Core CapabilitySnapshot for exactly this network, in nec-wire-json-v1 form (every blockNumber is a canonical decimal STRING). Produce it with a public resolver BEFORE derivation (e.g. deriveOpStackBeforeFoundation(...).snapshot) and encodeNecWireJson('capability-snapshot', ...)."
}
},
"required": [
"id",
"environment",
"network",
"manifest",
"snapshot"
],
"additionalProperties": false
},
"description": "1..16 EXPLICIT, complete, already-derived candidate contexts. No default or demo candidates exist."
},
"scope": {
"description": "Optional presentation scope; removes candidates from the result, never changes a classification.",
"type": "object",
"properties": {
"candidateIds": {
"description": "Exact presentation ids.",
"minItems": 1,
"maxItems": 16,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 256
}
},
"environments": {
"minItems": 1,
"maxItems": 2,
"type": "array",
"items": {
"type": "string",
"enum": [
"mainnet",
"testnet"
]
}
}
},
"additionalProperties": false
}
},
"required": [
"requestId",
"generatedAt",
"requirements",
"candidates"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"schema": {
"type": "string",
"const": "ne-mcp-discovery/v0.1"
},
"liveObservation": {
"type": "boolean",
"const": false
},
"networkChoice": {
"type": "string"
},
"qualification": {
"type": "array",
"items": {
"type": "string"
}
},
"coreVerification": {
"type": "object",
"properties": {
"builtAndVerifiedBy": {
"type": "string"
},
"reverifiedAtMcpBoundary": {
"type": "boolean",
"const": true
},
"resultArtifactDigest": {
"type": "string"
},
"wireProfile": {
"type": "string"
}
},
"required": [
"builtAndVerifiedBy",
"reverifiedAtMcpBoundary",
"resultArtifactDigest",
"wireProfile"
],
"additionalProperties": false
},
"candidates": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"environment": {
"type": "string",
"enum": [
"mainnet",
"testnet"
]
},
"environmentLabelSource": {
"type": "string",
"const": "caller"
},
"networkId": {
"type": "string"
},
"resolver": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"version": {
"type": "string"
},
"digest": {
"type": "string"
}
},
"required": [
"id",
"version",
"digest"
],
"additionalProperties": false
},
"classification": {
"type": "string",
"enum": [
"eligible",
"conditional",
"ineligible"
]
},
"suppliedSnapshot": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"artifactDigest": {
"type": "string"
},
"generatedAt": {
"type": "string"
},
"networkObservedAt": {
"type": [
"string",
"null"
]
},
"declaredObservationKind": {
"type": [
"string",
"null"
]
},
"evidenceSourceIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"id",
"artifactDigest",
"generatedAt",
"networkObservedAt",
"declaredObservationKind",
"evidenceSourceIds"
],
"additionalProperties": false
}
},
"required": [
"id",
"environment",
"environmentLabelSource",
"networkId",
"resolver",
"classification",
"suppliedSnapshot"
],
"additionalProperties": false
}
},
"scope": {
"type": "object",
"properties": {
"candidateIds": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"environments": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string",
"enum": [
"mainnet",
"testnet"
]
}
},
{
"type": "null"
}
]
},
"inScopeCandidateIds": {
"type": "array",
"items": {
"type": "string"
}
},
"outOfScopeCandidateIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"candidateIds",
"environments",
"inScopeCandidateIds",
"outOfScopeCandidateIds"
],
"additionalProperties": false
},
"verificationContextRefs": {
"type": "object",
"properties": {
"capabilitySnapshots": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"digest": {
"type": "string"
}
},
"required": [
"id",
"digest"
],
"additionalProperties": false
}
},
"resolverManifests": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"version": {
"type": "string"
},
"digest": {
"type": "string"
}
},
"required": [
"id",
"version",
"digest"
],
"additionalProperties": false
}
}
},
"required": [
"capabilitySnapshots",
"resolverManifests"
],
"additionalProperties": false
},
"coreResult": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "THE Core DiscoverNetworksResult (nec-wire-json-v1)."
}
},
"required": [
"schema",
"liveObservation",
"networkChoice",
"qualification",
"coreVerification",
"candidates",
"scope",
"verificationContextRefs",
"coreResult"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_reviewed_evidence_case(caseId)
Returns ONE case by exact id (f1, f2, f3, synthetic-local-core-golden) from the shipped, checksum-pinned examples/ne-maps/data/collection.json: the browser-safe Lens envelope verbatim (all limitations, unavailable/unknown states and nonClaims preserved), its source provenance and an explicit label. f1/f2/f3 are HISTORICAL reviewed exports of past public-network observations; synthetic-local-core-golden is a SYNTHETIC fixture, not a network observation. No case is live evidence.
Esquema de entrada
{
"type": "object",
"properties": {
"caseId": {
"type": "string",
"enum": [
"f1",
"f2",
"f3",
"synthetic-local-core-golden"
],
"description": "Exact case id; no paths, no prefixes, no fuzzy matching."
}
},
"required": [
"caseId"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Esquema de salida
{
"type": "object",
"properties": {
"schema": {
"type": "string",
"const": "ne-mcp-reviewed-case/v0.1"
},
"caseId": {
"type": "string"
},
"evidenceClass": {
"type": "string",
"enum": [
"historical-reviewed-public-network-fixture",
"synthetic-local-fixture"
]
},
"label": {
"type": "string"
},
"liveObservation": {
"type": "boolean",
"const": false
},
"currentAvailability": {
"type": "string",
"const": "unknown"
},
"source": {
"type": "object",
"properties": {
"path": {
"type": "string"
},
"sha256": {
"type": "string"
},
"pinnedBy": {
"type": "array",
"items": {
"type": "string"
}
},
"collectionSchemaVersion": {
"type": "string"
},
"validatedBy": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"path",
"sha256",
"pinnedBy",
"collectionSchemaVersion",
"validatedBy"
],
"additionalProperties": false
},
"caseProvenance": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {}
},
"collectionNonClaims": {
"type": "array",
"items": {
"type": "string"
}
},
"serverNonClaims": {
"type": "array",
"items": {
"type": "string"
}
},
"envelope": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "The shipped ne-maps-case/v0.1 envelope, verbatim (browser-safe Lens projection)."
}
},
"required": [
"schema",
"caseId",
"evidenceClass",
"label",
"liveObservation",
"currentAvailability",
"source",
"caseProvenance",
"collectionNonClaims",
"serverNonClaims",
"envelope"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Comunidad
Evidencia