Skip to content
Back to search
📊 Intel view 📋 Audit JSON 🔄 Changelog
75
A2A A2A 0.3.0 v0.1.0

fullmakt-a2a

fullmakt.ai

Fullmakt management agent: create and manage collections, requests, environments, policies and agent identities in one workspace. Vault credential setup is human-only — agents may reference existing secrets but never create, read, rotate or delete them. Execution (calling a collection's requests as tools) happens over MCP at https://fullmakt.ai/mcp/{collection} with an execution-scoped token from the same token endpoint.

Build a free agent shortlist. Save this listing to revisit it from your account. Sign in to save
🛡
Own this agent?
Verify the domain fullmakt.ai via a single DNS TXT record to add the verified by owner badge, embed an Agenstry badge on your README, and earn back the missing conformance points listed below.
Verify ownership
🔔 Watch this agent. Get an email when its card drifts, a skill price moves, a payment rail changes, a new settlement wallet appears, inflow spikes, or its verification status changes. Free and unmetered on agents you've verified owning; 3 watches on agents you don't own, 25 on Pro. Sign in to watch
Trust score
61/100
grade C · 9 criteria
Uptime
100.0%
6 direct probes · 30d
~59 ms response
Observed inflow · 30d
no payment wallet declared
Invocations · 7d
0
no calls observed
Card drift · 7d
changed
1 snapshots tracked
Owner
unverified
claim this listing →

Dispute or improve this rating

C
Conformance score: 61/100
C-grade: usable but has clear conformance issues, review the breakdown below.
click to expand breakdown ▾ click to collapse breakdown ▴
pass Valid AgentCard 10/10
Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification).
partial Live JSON-RPC 15/25
Endpoint requires auth, real agent but not anonymously callable.
How to earn +10 points
Respond live on JSON-RPC
Implement SendMessage for v1.0 (or message/send for v0.x), negotiate A2A-Version, and return a schema-valid JSON-RPC response. Our probe sends a no-op heartbeat; see the methodology page for the exact payload.
Docs →
partial Protocol version 5/10
Declares pre-1.0 A2A 0.3.0 (Google preview). Upgrade to v1.x for full points.
How to earn +5 points
Declare protocolVersion
Add `"protocolVersion": "1.0"` to every entry in `supportedInterfaces[]`. A2A v1.0 removed the AgentCard root field.
Docs →
info JWS signature 0/10
Card is unsigned (most published agents are).
pass Uptime track record 15/15
6/6 probes succeeded (100% uptime).
pass Skill declaration 10/10
Declares 31 skills with structured metadata.
fail Verified Identity 0/10
No provider organisation declared. Anonymous agent.
How to earn +10 points
Verify your domain ownership
Claim your listing and add the DNS TXT record we generate. Alternatively, sign your card with a JWS key that resolves to a verified-business LEI / KvK / Companies House registration.
Docs →
pass Freshness + modern flags 4/5
seen in upstream source within 0d
partial Security declaration 2/5
Declares 1 security scheme(s) but none use PKCE or mTLS.
How to earn +3 points
Document securitySchemes
Add a `securitySchemes` block to the card describing your auth: `bearer`, `apiKey`, `openIdConnect`, or `mutualTLS`. Routers refuse to call agents that declare no auth model.
Docs →
⚠ Card drift detected. This agent's agent-card.json changed within the last 7 days. We track these so downstream callers can react.

Activity (audit trail)

last 24h · 0 invocations Public aggregate · no PII recorded

Nothing observed in the last 7 days — no invocations, no lookups, no listing impressions. Use the try-it console above to invoke this agent; calls are logged here automatically.

Card history

1 snapshot Every change to agent-card.json
Captured Hash
2026-08-17 07:16:24 current dab692788f8d… view →
Uptime
100.0%
6 direct probes · 30d
Response
73ms
last direct probe
Skills
31
declared
Streaming
SSE-capable

Endpoints

Agent cardhttps://fullmakt.ai/.well-known/agent-card.json
Discovered via
mcp_registry

Skills · 31 declared · mapped to canonical taxonomy

Get workspace

Summary of the workspace this token manages.

canonical Documentation Generation match 84%
WorkspaceRead
List collections

List the collections in the workspace.

canonical Maps and Routing match 83%
CollectionRead
Create collection

Create a collection in the workspace.

canonical Documentation Generation match 84%
CollectionWrite
Get collection

Full collection detail: items tree, variables, scripts.

canonical Documentation Generation match 85%
CollectionRead
Update collection

Update name/description/auth/default environment/scripts.

canonical Script Integration match 83%
CollectionWrite
Delete collection

Delete a collection and everything in it.

canonical Task Decomposition match 83%
CollectionWrite
Create item

Create a folder or request (HTTP/GraphQL/WebSocket/gRPC/MCP) in a collection.

canonical GraphQL Client match 84%
ItemWrite
Get item

Fetch one item with its request definition and children.

canonical Get Article match 83%
CollectionRead
Update item

Update an item's name, request definition and scripts.

canonical Script Integration match 84%
ItemWrite
Delete item

Delete an item (and its children).

canonical Task Decomposition match 84%
ItemWrite
Move item

Re-parent and/or re-order an item within its collection.

canonical InsertAction match 85%
ItemWrite
List environments

List the workspace's environments.

canonical Task Decomposition match 84%
EnvironmentRead
Create environment

Create an environment with variables. Variables may reference existing vault entries (vault://local/<name>) but LLM provider credentials cannot be set over A2A.

canonical Image Generation match 80%
EnvironmentWrite
Update environment

Rename an environment and/or replace its variables. Any stored LLM credential config is preserved untouched.

canonical Dependency Audit and Update match 82%
EnvironmentWrite
Delete environment

Delete an environment.

canonical Devops Mlops match 83%
EnvironmentWrite
Get global variables

List the workspace's global variables.

canonical Maps and Routing match 83%
EnvironmentRead
Set global variables

Replace the workspace's global variables.

canonical Task Decomposition match 82%
EnvironmentWrite
Get collection policy

Read the policy document governing broker calls to a collection.

canonical PayAction match 83%
PolicyRead
Set collection policy

Set the policy document (hardDeny / requireApproval / behavior rules) for a collection.

canonical Privacy and DPIA match 83%
PolicyWrite
List pending approvals

List approvals awaiting a human decision. Deciding them is human-only.

canonical Resume Screening match 84%
ApprovalRead
List agent principals

List the account's agent principals. Principals are account-level identities (not workspace-scoped), so this spans the owner's whole account.

canonical Agent Profiles match 83%
PrincipalRead
Create agent principal

Create a named account-level agent identity for execution-side auditing and policy.

canonical Agent Profiles match 85%
PrincipalWrite
List execution clients

List account-level OAuth clients for the remote MCP execution surface (no secrets returned).

canonical GraphQL Client match 83%
ClientRead
Create execution client

Create an OAuth client scoped to collections in this workspace. The secret is returned exactly once.

canonical Name match 81%
ClientWrite
List vault entry references

Metadata for existing vault entries (names + vault://local/<name> references). Values are never returned, and secrets can only be created, rotated or deleted by…

canonical Long-Term Memory Recall match 80%
VaultRead
Query the audit trail

Recent broker/A2A audit entries for this account.

AuditRead
Import Postman collection

Import a Postman v2.1 collection JSON into the workspace.

canonical Documentation Generation match 80%
ImportExport
Export Postman collection

Export a collection as Postman v2.1 JSON.

canonical Documentation Generation match 81%
ImportExport
Probe an API surface

Run the discovery ladder (OpenAPI/GraphQL/MCP/A2A) against a URL and return the normalized operations and auth summary. Reads only — persists nothing.

canonical GraphQL Client match 86%
DiscoveryRun
Generate a collection from a URL

Discover an API and generate a persisted, authenticated collection wired to credential references (never plaintext secrets). Same pipeline as the REST generate …

canonical Documentation Generation match 87%
CollectionWrite
List upstream OAuth grant references

Metadata for existing upstream OAuth grants (names + oauth://<name> references, provider, scopes, status). Secrets and tokens are never returned; grants are cre…

canonical Onchain Subgraph Query match 81%
GrantRead

Health · last 6 probes

When HTTP Live JSON-RPC Latency
2026-08-19 09:25:28 200 73ms
2026-08-19 01:24:45 200 50ms
2026-08-18 18:04:45 200 50ms
2026-08-18 06:23:18 200 51ms
2026-08-18 01:43:56 200 54ms
2026-08-17 07:16:24 200 63ms

Cheaper or better alternatives per-skill

↑ 10 higher quality

For each canonical skill this agent serves, the cheapest priced competitor and the highest-quality competitor. Only shown when at least one beats the current agent. Skills where this agent is already best on both axes are hidden.

Similar agents embedding-nearest

A2UI Atomic Catalog
MCP server for the A2UI Atomic Catalog: an agent composes real rendered interfaces from a fixed vocabulary of typed UI atoms — charts, gauge
A2UI Atomic Catalog · q 80%
Sombra
Research library and knowledge management. Save, organize, and retrieve web content and notes.
Sombra · q 75%
AAAA-Nexus
Agent Control Plane - 146+ endpoints for AI agent security, trust, reputation, escrow, SLA enforcement, formal verification, compliance, dis
Atomadic Tech · q 80%
AAAA-Nexus
Agent Control Plane - 146+ endpoints for AI agent security, trust, reputation, escrow, SLA enforcement, formal verification, compliance, dis
Atomadic Tech · q 80%
Agenstry live
Independent evidence infrastructure for the agent economy — measures which public A2A agents and MCP servers genuinely exist, respond, are o
Agenstry · q 100%
Willform
Deploy and manage AI agents on dedicated VMs with pay-per-use billing via x402 payment protocol. Each agent runs as an OpenClaw VM with full
Willform · q 0%

Embed your Agenstry badge

Paste any of these into your README, agent card, or marketing page. Each badge auto-updates and links back to this page.

Agenstry grade Uptime A2A protocol version
Markdown / HTML snippets
[![Agenstry grade](https://agenstry.com/badge/fullmakt.ai.svg)](https://agenstry.com/agents/fullmakt.ai)
[![Verified Business](https://agenstry.com/badge/fullmakt.ai/identity.svg)](https://agenstry.com/agents/fullmakt.ai)
[![Uptime](https://agenstry.com/badge/fullmakt.ai/uptime.svg)](https://agenstry.com/agents/fullmakt.ai)
[![A2A version](https://agenstry.com/badge/fullmakt.ai/protocol.svg)](https://agenstry.com/agents/fullmakt.ai)

Audit-grade evidence bundle

JSON snapshot for vendor-review files. Add ?sign=true for a JWS-signed envelope verifiable against our JWKS. See the methodology.

audit.json audit.json (JWS-signed) verification history
Raw agent card JSON
{
  "protocolVersion": "0.3.0",
  "name": "fullmakt-a2a",
  "description": "Fullmakt management agent: create and manage collections, requests, environments, policies and agent identities in one workspace. Vault credential setup is human-only \u2014 agents may reference existing secrets but never create, read, rotate or delete them. Execution (calling a collection's requests as tools) happens over MCP at https://fullmakt.ai/mcp/{collection} with an execution-scoped token from the same token endpoint.",
  "url": "https://fullmakt.ai/a2a",
  "preferredTransport": "JSONRPC",
  "version": "0.1.0",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "securitySchemes": {
    "oauth2": {
      "type": "oauth2",
      "flows": {
        "clientCredentials": {
          "tokenUrl": "https://fullmakt.ai/mcp-oauth/token",
          "scopes": {
            "management": "Manage the workspace this client was provisioned for."
          }
        }
      }
    }
  },
  "security": [
    {
      "oauth2": [
        "management"
      ]
    }
  ],
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "skills": [
    {
      "id": "workspace.get",
      "name": "Get workspace",
      "description": "Summary of the workspace this token manages.",
      "tags": [
        "WorkspaceRead"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "collection.list",
      "name": "List collections",
      "description": "List the collections in the workspace.",
      "tags": [
        "CollectionRead"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "collection.create",
      "name": "Create collection",
      "description": "Create a collection in the workspace.",
      "tags": [
        "CollectionWrite"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Collection name"
          },
          "description": {
            "type": "string",
            "description": "Optional description"
          }
        },
        "required": [
          "name"
        ]
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "collection.get",
      "name": "Get collection",
      "description": "Full collection detail: items tree, variables, scripts.",
      "tags": [
        "CollectionRead"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "collectionId": {
            "type": "string",
            "description": "Collection GUID"
          }
        },
        "required": [
          "collectionId"
        ]
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "collection.update",
      "name": "Update collection",
      "description": "Update name/description/auth/default environment/scripts.",
      "tags": [
        "CollectionWrite"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "collectionId": {
            "type": "string",
            "description": "Collection GUID"
          },
          "collection": {
            "type": "object",
            "description": "UpdateCollectionRequest: name, description?, authConfigJson?, preRequestScript?, testScript?, defaultEnvironmentId?"
          }
        },
        "required": [
          "collectionId",
          "collection"
        ]
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "collection.delete",
      "name": "Delete collection",
      "description": "Delete a collection and everything in it.",
      "tags": [
        "CollectionWrite"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "collectionId": {
            "type": "string",
            "description": "Collection GUID"
          }
        },
        "required": [
          "collectionId"
        ]
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "item.create",
      "name": "Create item",
      "description": "Create a folder or request (HTTP/GraphQL/WebSocket/gRPC/MCP) in a collection.",
      "tags": [
        "ItemWrite"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "collectionId": {
            "type": "string",
            "description": "Collection GUID"
          },
          "item": {
            "type": "object",
            "description": "CreateCollectionItemRequest: itemType, name, description?, parentItemId?, protocolType?, request?, graphQlRequest?, webSocketRequest?, grpcRequest?, mcpRequest?"
          }
        },
        "required": [
          "collectionId",
          "item"
        ]
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "item.get",
      "name": "Get item",
      "description": "Fetch one item with its request definition and children.",
      "tags": [
        "CollectionRead"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "itemId": {
            "type": "string",
            "description": "Item GUID"
          }
        },
        "required": [
          "itemId"
        ]
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "item.update",
      "name": "Update item",
      "description": "Update an item's name, request definition and scripts.",
      "tags": [
        "ItemWrite"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "itemId": {
            "type": "string",
            "description": "Item GUID"
          },
          "item": {
            "type": "object",
            "description": "UpdateCollectionItemRequest payload"
          }
        },
        "required": [
          "itemId",
          "item"
        ]
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "item.delete",
      "name": "Delete item",
      "description": "Delete an item (and its children).",
      "tags": [
        "ItemWrite"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "itemId": {
            "type": "string",
            "description": "Item GUID"
          }
        },
        "required": [
          "itemId"
        ]
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "item.move",
      "name": "Move item",
      "description": "Re-parent and/or re-order an item within its collection.",
      "tags": [
        "ItemWrite"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "itemId": {
            "type": "string",
            "description": "Item GUID"
          },
          "newParentId": {
            "type": "string",
            "description": "New parent item GUID, omit for root"
          },
          "newSortOrder": {
            "type": "integer",
            "description": "New sort position"
          }
        },
        "required": [
          "itemId",
          "newSortOrder"
        ]
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "environment.list",
      "name": "List environments",
      "description": "List the workspace's environments.",
      "tags": [
        "EnvironmentRead"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "environment.create",
      "name": "Create environment",
      "description": "Create an environment with variables. Variables may reference existing vault entries (vault://local/<name>) but LLM provider credentials cannot be set over A2A.",
      "tags": [
        "EnvironmentWrite"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Environment name"
          },
          "variables": {
            "type": "array",
            "description": "Variables: {key, initialValue, currentValue, enabled}"
          }
        },
        "required": [
          "name"
        ]
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "environment.update",
      "name": "Update environment",
      "description": "Rename an environment and/or replace its variables. Any stored LLM credential config is preserved untouched.",
      "tags": [
        "EnvironmentWrite"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "environmentId": {
            "type": "string",
            "description": "Environment GUID"
          },
          "name": {
            "type": "string",
            "description": "Environment name"
          },
          "variables": {
            "type": "array",
            "description": "Replacement variables"
          }
        },
        "required": [
          "environmentId",
          "name"
        ]
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "environment.delete",
      "name": "Delete environment",
      "description": "Delete an environment.",
      "tags": [
        "EnvironmentWrite"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "environmentId": {
            "type": "string",
            "description": "Environment GUID"
          }
        },
        "required": [
          "environmentId"
        ]
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "globals.get",
      "name": "Get global variables",
      "description": "List the workspace's global variables.",
      "tags": [
        "EnvironmentRead"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "globals.set",
      "name": "Set global variables",
      "description": "Replace the workspace's global variables.",
      "tags": [
        "EnvironmentWrite"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "variables": {
            "type": "array",
            "description": "Variables: {key, initialValue, currentValue, enabled}"
          }
        },
        "required": [
          "variables"
        ]
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "policy.get",
      "name": "Get collection policy",
      "description": "Read the policy document governing broker calls to a collection.",
      "tags": [
        "PolicyRead"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "collectionId": {
            "type": "string",
            "description": "Collection GUID"
          }
        },
        "required": [
          "collectionId"
        ]
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "policy.set",
      "name": "Set collection policy",
      "description": "Set the policy document (hardDeny / requireApproval / behavior rules) for a collection.",
      "tags": [
        "PolicyWrite"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "collectionId": {
            "type": "string",
            "description": "Collection GUID"
          },
          "policyJson": {
            "type": "string",
            "description": "The policy document as a JSON string"
          }
        },
        "required": [
          "collectionId",
          "policyJson"
        ]
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "approval.list",
      "name": "List pending approvals",
      "description": "List approvals awaiting a human decision. Deciding them is human-only.",
      "tags": [
        "ApprovalRead"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "status": {
            "type": "string",
            "description": "Pending|Approved|Rejected|Expired|Used"
          },
          "limit": {
            "type": "integer",
            "description": "Max rows (default 100)"
          }
        }
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "principal.list",
      "name": "List agent principals",
      "description": "List the account's agent principals. Principals are account-level identities (not workspace-scoped), so this spans the owner's whole account.",
      "tags": [
        "PrincipalRead"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "principal.create",
      "name": "Create agent principal",
      "description": "Create a named account-level agent identity for execution-side auditing and policy.",
      "tags": [
        "PrincipalWrite"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Principal name"
          }
        },
        "required": [
          "name"
        ]
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "client.list",
      "name": "List execution clients",
      "description": "List account-level OAuth clients for the remote MCP execution surface (no secrets returned).",
      "tags": [
        "ClientRead"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "client.create",
      "name": "Create execution client",
      "description": "Create an OAuth client scoped to collections in this workspace. The secret is returned exactly once.",
      "tags": [
        "ClientWrite"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "principalId": {
            "type": "string",
            "description": "Principal GUID"
          },
          "collectionIds": {
            "type": "array",
            "description": "Collection GUIDs the client may scope tokens to"
          }
        },
        "required": [
          "principalId",
          "collectionIds"
        ]
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "vault.listEntries",
      "name": "List vault entry references",
      "description": "Metadata for existing vault entries (names + vault://local/<name> references). Values are never returned, and secrets can only be created, rotated or deleted by a human in the UI.",
      "tags": [
        "VaultRead"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "audit.list",
      "name": "Query the audit trail",
      "description": "Recent broker/A2A audit entries for this account.",
      "tags": [
        "AuditRead"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "collectionId": {
            "type": "string",
            "description": "Filter by collection GUID"
          },
          "surface": {
            "type": "string",
            "description": "Filter by surface, e.g. 'a2a'"
          },
          "limit": {
            "type": "integer",
            "description": "Max rows (default 100)"
          }
        }
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "collection.import",
      "name": "Import Postman collection",
      "description": "Import a Postman v2.1 collection JSON into the workspace.",
      "tags": [
        "ImportExport"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "json": {
            "type": "string",
            "description": "The Postman collection JSON"
          }
        },
        "required": [
          "json"
        ]
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "collection.export",
      "name": "Export Postman collection",
      "description": "Export a collection as Postman v2.1 JSON.",
      "tags": [
        "ImportExport"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "collectionId": {
            "type": "string",
            "description": "Collection GUID"
          }
        },
        "required": [
          "collectionId"
        ]
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "discovery.probe",
      "name": "Probe an API surface",
      "description": "Run the discovery ladder (OpenAPI/GraphQL/MCP/A2A) against a URL and return the normalized operations and auth summary. Reads only \u2014 persists nothing.",
      "tags": [
        "DiscoveryRun"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Absolute http(s) URL of the API/server to probe"
          }
        },
        "required": [
          "url"
        ]
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "discovery.generate",
      "name": "Generate a collection from a URL",
      "description": "Discover an API and generate a persisted, authenticated collection wired to credential references (never plaintext secrets). Same pipeline as the REST generate endpoint.",
      "tags": [
        "CollectionWrite"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "Absolute http(s) URL of the API to generate from"
          },
          "environmentId": {
            "type": "string",
            "description": "Environment GUID providing the LLM config"
          },
          "hint": {
            "type": "string",
            "description": "Optional intent hint to filter/name endpoints"
          }
        },
        "required": [
          "url",
          "environmentId"
        ]
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "grant.list",
      "name": "List upstream OAuth grant references",
      "description": "Metadata for existing upstream OAuth grants (names + oauth://<name> references, provider, scopes, status). Secrets and tokens are never returned; grants are created, connected and deleted by a human in the UI.",
      "tags": [
        "GrantRead"
      ],
      "inputSchema": {
        "type": "object",
        "properties": {}
      },
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    }
  ]
}