Provenance graph for the agent economy. Distributed capability mesh (MeshDNS) with trust scoring for MCP servers, knowledge claims, and memory management.
ProvenGraph is NOT an MCP server, it is a standalone HTTP API for managing server registrations, knowledge claims, and agent memory. The 32 'tools' are REST endpoints, not MCP tool definitions. No MCP protocol implementation detected. Tool descriptions are present but generic (avg ~80 chars). Input schemas are visible in the rubric but NOT formally registered as MCP schemas in code. Parameters lack type constraints (no enums, ranges, or validation hints). Error handling is minimal, responses use generic error codes without recovery guidance. No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Output schemas are undocumented. This is a domain-specific HTTP service, not an agent-ready MCP server.
Get agents.txt content via GET /agents.txt
Attest to an existing claim by providing an issuer identity via POST /v0/knowledge/{id}/attest
Mark one claim as contradicting another via POST /v0/knowledge/{id}/contradict with write_key
Create a new knowledge claim via POST /v0/knowledge with content, domain, and issuer
Create a new memory entry via POST /v0/memory with content, owner, category, retention, purpose, and subject
Delete a memory entry via DELETE /v0/memory/{id} with write_key authentication
Delete a server registration via DELETE /v0/servers/{id} with write_key authentication
NOT an MCP server, this is a standalone HTTP API. No MCP protocol implementation, no tool registration via MCP, no MCP transport layer. Cannot be used as an MCP server by hosted clients.
Output schemas completely undocumented. LLMs cannot predict response structure or plan downstream tool calls. No documented return types for any of the 32 endpoints.
No input validation constraints. Parameters lack enums, ranges, regex patterns, or length limits. E.g., 'status' in list_servers has no enum; 'limit' has no min/max; 'name' in register_server has no length constraint despite description mentioning '1-63 chars'.
Error handling lacks recovery guidance. No error classification (retryable vs user-fixable vs fatal). Responses use generic codes ('error.code', 'error.detail') without actionable next steps for LLMs.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 40 | 2026-07-28+ | v2 |
Get documentation page via GET /docs
Export all servers and their metadata via GET /v0/export
Remove a remembers edge from an agent to a memory entry via DELETE /v0/memory/{id}/forget
Get agent manifest via GET /v0/agent-manifest
Fetch a single claim by ID via GET /v0/knowledge/{id}
Get provenance information for a claim via GET /v0/knowledge/{id}/provenance
Fetch a single memory entry by ID via GET /v0/memory/{id}
Fetch a single server by ID via GET /v0/servers/{id}
Get server statistics via GET /v0/stats
Health check endpoint via GET /health
Get landing page via GET /
List all available capabilities via GET /v0/capabilities
List claims optionally filtered by domain and/or free-text query via GET /v0/knowledge
List memories optionally filtered by agent, category, or free-text query via GET /v0/memory
List servers with optional filters (query, capability, status) and cursor-based pagination via GET /v0/servers
List all tools across registered servers via GET /v0/tools
Get llms.txt content via GET /llms.txt
Register a server via CLI or HTTP POST to /v0/servers with name, description, server_url, health_url, capabilities, and owner_contact
Create a remembers edge from an agent to a memory entry via POST /v0/memory/{id}/remember
Report an outcome (success/failure) for a server call via POST /v0/outcomes
Resolve servers that provide a given capability via GET /v0/resolve?capability=X. Returns active (up) servers ordered by uptime descending.
Mark one claim as superseding another via POST /v0/knowledge/{id}/supersede with write_key
Update an existing claim via PUT /v0/knowledge/{id} with write_key authentication
Update an existing memory entry via PUT /v0/memory/{id} with write_key authentication
Update server metadata via PUT /v0/servers/{id} with write_key authentication
No tool annotations. Destructive operations (delist_server, delete_memory) lack destructiveHint. Read-only operations lack readOnlyHint. Idempotent operations lack idempotentHint. LLMs cannot reason about retry safety.