Card snapshot
api.connectknot.com
·
2026-11-01 05:18:13 UTC
·
3e4acab77b16f7ec4a082d8d6571043235538de69531943e8f5c5c648e424f1c
This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.
{
"name": "Knot",
"description": "Shared memory for all your AIs. ChatGPT, Claude, Cursor, Gemini and other tools read and save the same decisions, preferences and project context, and get the current version when something changes.",
"version": "1.0.0",
"url": "https://api.connectknot.com/mcp",
"protocolVersion": "1.0",
"provider": {
"organization": "Knot",
"name": "Knot",
"url": "https://connectknot.com"
},
"documentationUrl": "https://connectknot.com/agents.md",
"iconUrl": "https://api.connectknot.com/api/brand/knot-icon.png",
"supportedInterfaces": [
{
"url": "https://api.connectknot.com/mcp",
"protocolBinding": "JSONRPC",
"protocolVersion": "1.0"
}
],
"capabilities": {
"streaming": false,
"pushNotifications": false,
"stateTransitionHistory": false,
"extendedAgentCard": false
},
"defaultInputModes": [
"application/json",
"text/plain"
],
"defaultOutputModes": [
"application/json",
"text/plain"
],
"securitySchemes": {
"oauth2": {
"type": "oauth2",
"description": "OAuth 2.1 with PKCE and dynamic client registration",
"flows": {
"authorizationCode": {
"authorizationUrl": "https://api.connectknot.com/api/oauth/authorize",
"tokenUrl": "https://api.connectknot.com/api/oauth/token",
"scopes": {
"context:read": "Read governing decisions and project context",
"context:contribute:project": "Record decisions and supersede outdated versions",
"context:propose": "Propose personal or project context updates",
"active_state:read": "Read active handoffs and session continuity",
"active_state:contribute": "Publish active state and agent handoffs",
"knot:developer": "Create Knot SDK apps and rotate their API keys. Only for developers building with the SDK."
}
}
}
}
},
"security": [
{
"oauth2": [
"context:read",
"context:contribute:project"
]
}
],
"skills": [
{
"id": "resolve-current-decision",
"name": "resolve current decision",
"description": "Resolve the active governing decision or fact for a subject across connected AI tools, filtering out superseded versions.",
"tags": [
"memory",
"decision",
"context",
"governance",
"current-state"
],
"examples": [
"What is the current decision on our checkout retry policy?",
"Resolve the active governing architecture decision for authentication."
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
]
},
{
"id": "record-decision",
"name": "record decision",
"description": "Record an atomic decision, constraint, or project fact with a subject key and explicit supersession or coexistence lineage.",
"tags": [
"memory",
"decision",
"write",
"supersede",
"lineage"
],
"examples": [
"Record decision: we use OAuth 2.1 with PKCE for all MCP connections, superseding bearer tokens.",
"Save our new pricing tier decision to the shared project brain."
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
]
},
{
"id": "list-superseded-versions",
"name": "list superseded versions",
"description": "List the historical lineage and superseded versions of a decision or subject so agents can audit what changed and why.",
"tags": [
"memory",
"history",
"lineage",
"superseded",
"audit"
],
"examples": [
"List superseded versions of our database encryption decision.",
"Show the full version trajectory for the checkout retry policy."
],
"inputModes": [
"application/json",
"text/plain"
],
"outputModes": [
"application/json",
"text/plain"
]
}
]
}