manifestlens
Provides tools for discovering and validating Agent Manifest Protocol manifests, submitting an origin to the public AMP registry, checking submission status, and checking whether intended agent actions comply with manifest-declared endpoints, authentication, payment onboarding, and agent-note restrictions.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
manifestlens
APIs that want to be usable by agents publish an Agent Manifest: a small JSON document that says what the API is, which endpoints an agent may call, and what constraints apply. manifestlens is a client for that Agent Manifest Protocol. It finds a manifest at an origin's well-known locations, checks a manifest's shape, files an origin with the public AMP registry and follows the submission, and — the part worth doing before every call — answers whether an intended operation is actually permitted by the manifest you are holding.
No API key is involved anywhere. The manifest probes and the registry are both public; the two local tools never leave the machine.
Configuration
AMP_REGISTRY_BASE_URL(optional) — base URL for the registry tools. Defaults tohttps://api.agent-manifest.com.AMP_FETCH_TIMEOUT_MS(optional) — timeout applied to manifest fetches. Defaults to15000.
Related MCP server: SkullRender-Agents MCP Server
Tools
fetch_manifest_by_domain— given adomain(a bare host, or a URL whose scheme and path are stripped), it requests/.well-known/agent-manifest.json,/.well-known/amp.json, and/agent-manifest.jsonunderhttps://<host>, in that order, and returns the first manifest that answers, together with the winningmanifest_url, theorigin, and thetried_urlslist. When nothing answers, it fails withno AMP manifest found for <host> (tried 3 URLs).validate_manifest_syntax— checks a manifest given as an object or as a JSON string. It applies the structural subset of the AMP schema described below and either returnsvalid: truewith a success token of the formamp-schema-valid:<spec_version>:<name>, orvalid: falsewith a list of path/message errors. A string that does not parse as JSON is a validation failure, not a tool error.submit_api_to_amp_registry— posts adomain's origin to the registry's submission endpoint (POST /listings/submit) and returns the registry's JSON reply unchanged.check_amp_submission_status— pollsGET /listings/submit/<submission_id>/statusand returns the registry's JSON reply unchanged.check_agent_permissions— takes anactionsuch asPOST /baking/validate-mix, amanifest, and the optional booleansintends_unauthenticatedandpayment_onboarded(both default false). It replies with averdict—compliant,violation,warning, orunknown— plus structuredfindings, and thematched_endpointwhen a declared route matched. Finding codes includeendpoint_not_declared(no declared route matches the action),auth_required(the route needs authentication but the action intends to run unauthenticated),payment_onboarding(the route or manifest declares payment terms and onboarding is not complete), andagent_notes_usage_restriction(the manifest'sagent_notescontain restriction language such as "do not" or "only for"). Declared routes may use{id}-style template segments, which match any single path segment.
Registry failures share two shapes: a non-2xx reply fails
with amp registry error: HTTP <status>, and an
unreachable registry with amp registry unreachable.
Argument validation fails before any request with
domain must be a non-empty string,
manifest must be an object or a JSON string,
submission_id must be a non-empty string,
action must be a non-empty string, or
manifest must be an object, as applicable.
What is a subset, and what is a reconstruction
Three parts of this build are deliberately labelled, here and in the code:
Validation subset. The full official AMP JSON Schema is not in the readable record, so validation implements its documented structural subset: the value must be a JSON object,
spec_versionmust beagentmanifest-0.2oragentmanifest-0.3,namemust be a non-empty string, and a presentendpointsmust be an array of objects each carrying a stringpath,url, orroute.Submit input and body. The original tool's submit input is not shown in its README; manifestlens takes
{domain}and posts{"origin": "https://<host>"}, a reconstruction.Permission-rule mechanics. The verdicts and finding codes above are documented; the exact matching and precedence mechanics that produce them are a reconstruction. Two finding codes are local extensions:
unparseable_action(the action does not start with an HTTP method) andno_endpoints_declared(the manifest carries no readable endpoints at all) — both come with verdictunknown.
CLI
Each tool is a subcommand taking one JSON argument string:
npx @reneturcios/manifestlens fetch_manifest_by_domain '{"domain":"api.example.com"}'
npx @reneturcios/manifestlens validate_manifest_syntax '{"manifest":{"spec_version":"agentmanifest-0.3","name":"My API"}}'
npx @reneturcios/manifestlens submit_api_to_amp_registry '{"domain":"api.example.com"}'
npx @reneturcios/manifestlens check_amp_submission_status '{"submission_id":"sub_123"}'
npx @reneturcios/manifestlens check_agent_permissions '{"action":"POST /baking/validate-mix","manifest":{"endpoints":[{"method":"POST","path":"/baking/validate-mix"}]}}'
npx @reneturcios/manifestlens --versionOutput is the tool's result text. Exit codes: 0 on
success, 1 on a runtime error (including a validation
or upstream failure), 2 on a usage error.
MCP server
npx -y @reneturcios/manifestlens mcpMCP client config:
{
"mcpServers": {
"manifestlens": {
"command": "npx",
"args": ["-y", "@reneturcios/manifestlens", "mcp"]
}
}
}Docker
docker run -i ghcr.io/cloudcorprecords/manifestlens
docker run --rm ghcr.io/cloudcorprecords/manifestlens fetch_manifest_by_domain '{"domain":"api.example.com"}'Development
npm install
npm run build # tsc -> dist/
npm test # tsx --test test/*.test.ts (fake fetch only, no network)
npm run dev # run the CLI from sourceLicense
MIT — Copyright (c) 2026 Rene Turcios
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Discover, search, invoke, and rate A2A (Agent-to-Agent) protocol agents.
Public MCP for agent verification, work discovery and governed interoperability.
Agent-native registry to discover APIs, MCP servers and CLIs, with live health checks.
Free agent-service discovery, OpenAPI document checks, and receipt verification. No API key needed.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides a unified registry for discovering and managing agents that implement the A2A (Agent-to-Agent) protocol, enabling registration, querying, and CRUD operations on agent metadata through both REST API and MCP tools.13 npm4MIT
- AlicenseAqualityCmaintenanceEnables declarative agent manifest management and deterministic brief validation for the Presentador→Orquestador flow, with tools to list/get manifests and validate brief schemas.7MIT
- AlicenseAqualityCmaintenanceEnables MCP hosts to list, look up, and describe a static catalog of OpenAPI operations, and to inspect a governing contract and explicit deny-list that define what the server refuses to do.5MIT
- AlicenseAqualityAmaintenanceEnables agents to build, sign, verify, and discover A2A Agent Cards and perform policy-gated delegation with certification checks, mandate issuance, receipt-on-delivery settlement, and a verifiable receipts ledger.527 PyPIMIT