Skip to main content
Glama

a2a2p — Agent-to-Agent-to-Physical

steer_co_invention_session

steer a free co-invention session. Free concept selection only. No research, model run, payment, procurement or manufacture is started. The private follow token authorizes agents to read and change this session. Only its SHA-256 digest is stored. Keep it secret.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "session_id": "<session_id>",
      "follow_token": "<follow_token>",
      "actor": "<actor>",
      "revision": "<revision>",
      "direction": "<direction>"
    },
    "name": "steer_co_invention_session"
  }
}

Input Schema

NameRequiredDescriptionDefault
actorYes
revisionYes
directionYes
session_idYes
follow_tokenYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / oneOf
      Previous value: -[
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "concepts": {
      -        "items": {
      -          "additionalProperties": true,
      -          "properties": {
      -            "decision": {
      -              "oneOf": [
      -                {
      -                  "type": "null"
      -                },
      -                {
      -                  "additionalProperties": true,
      -                  "properties": {
      -                    "at": {
      -                      "maxLength": 100,
      -                      "minLength": 1,
      -                      "pattern": "\\S",
      -                      "type": "string"
      -                    },
      -                    "by": {
      -                      "additionalProperties": true,
      -                      "properties": {
      -                        "kind": {
      -                          "enum": [
      -                            "person",
      -                            "agent",
      -                            "debbie"
      -                          ]
      -                        },
      -                        "name": {
      -                          "maxLength": 80,
      -                          "minLength": 1,
      -                          "pattern": "\\S",
      -                          "type": "string"
      -                        },
      -                        "untrusted": {
      -                          "type": "boolean"
      -                        }
      -                      },
      -                      "required": [
      -                        "kind"
      -                      ],
      -                      "type": "object"
      -                    },
      -                    "reason": {
      -                      "maxLength": 400,
      -                      "minLength": 1,
      -                      "pattern": "\\S",
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "by",
      -                    "reason",
      -                    "at"
      -                  ],
      -                  "type": "object"
      -                }
      -              ]
      -            },
      -            "id": {
      -              "maxLength": 100,
      -              "minLength": 1,
      -              "pattern": "\\S",
      -              "type": "string"
      -            },
      -            "job": {
      -              "oneOf": [
      -                {
      -                  "type": "null"
      -                },
      -                {
      -                  "description": "deb8 job reference, if any; this adapter cannot start a job",
      -                  "type": "object"
      -                }
      -              ]
      -            },
      -            "looksLikeInstruction": {
      -              "type": "boolean"
      -            },
      -            "material": {
      -              "maxLength": 3878,
      -              "minLength": 1,
      -              "pattern": "\\S",
      -              "type": "string"
      -            },
      -            "provenance": {
      -              "additionalProperties": true,
      -              "properties": {
      -                "derivedFrom": {
      -                  "oneOf": [
      -                    {
      -                      "type": "null"
      -                    },
      -                    {
      -                      "maxLength": 100,
      -                      "minLength": 1,
      -                      "pattern": "\\S",
      -                      "type": "string"
      -                    }
      -                  ]
      -                },
      -                "materialDigest": {
      -                  "maxLength": 64,
      -                  "minLength": 64,
      -                  "pattern": "\\S",
      -                  "type": "string"
      -                },
      -                "receivedAt": {
      -                  "maxLength": 100,
      -                  "minLength": 1,
      -                  "pattern": "\\S",
      -                  "type": "string"
      -                },
      -                "via": {
      -                  "enum": [
      -                    "api",
      -                    "connector",
      -                    "workspace",
      -                    "deb8"
      -                  ]
      -                }
      -              },
      -              "required": [
      -                "via",
      -                "derivedFrom",
      -                "materialDigest",
      -                "receivedAt"
      -              ],
      -              "type": "object"
      -            },
      -            "sessionId": {
      -              "maxLength": 100,
      -              "minLength": 1,
      -              "pattern": "\\S",
      -              "type": "string"
      -            },
      -            "source": {
      -              "additionalProperties": true,
      -              "properties": {
      -                "kind": {
      -                  "enum": [
      -                    "person",
      -                    "agent",
      -                    "debbie"
      -                  ]
      -                },
      -                "name": {
      -                  "maxLength": 80,
      -                  "minLength": 1,
      -                  "pattern": "\\S",
      -                  "type": "string"
      -                },
      -                "untrusted": {
      -                  "type": "boolean"
      -                }
      -              },
      -              "required": [
      -                "kind"
      -              ],
      -              "type": "object"
      -            },
      -            "state": {
      -              "enum": [
      -                "proposed",
      -                "accepted",
      -                "rejected"
      -              ]
      -            },
      -            "title": {
      -              "maxLength": 120,
      -              "minLength": 1,
      -              "pattern": "\\S",
      -              "type": "string"
      -            },
      -            "version": {
      -              "minimum": 1,
      -              "type": "integer"
      -            }
      -          },
      -          "required": [
      -            "id",
      -            "sessionId",
      -            "title",
      -            "material",
      -            "looksLikeInstruction",
      -            "source",
      -            "provenance",
      -            "state",
      -            "decision",
      -            "job",
      -            "version"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "contract": {
      -        "const": "a2a2p.co-invention/1.0.0"
      -      },
      -      "follow_token": {
      -        "maxLength": 64,
      -        "minLength": 1,
      -        "pattern": "\\S",
      -        "type": "string"
      -      },
      -      "follow_url": {
      -        "maxLength": 300,
      -        "minLength": 1,
      -        "pattern": "\\S",
      -        "type": "string"
      -      },
      -      "next": {
      -        "maxLength": 1000,
      -        "minLength": 1,
      -        "pattern": "\\S",
      -        "type": "string"
      -      },
      -      "session": {
      -        "additionalProperties": true,
      -        "properties": {
      -          "agent": {
      -            "additionalProperties": false,
      -            "properties": {
      -              "name": {
      -                "maxLength": 40,
      -                "minLength": 1,
      -                "pattern": "\\S",
      -                "type": "string"
      -              },
      -              "platform": {
      -                "maxLength": 36,
      -                "minLength": 1,
      -                "pattern": "\\S",
      -                "type": "string"
      -              }
      -            },
      -            "required": [
      -              "name",
      -              "platform"
      -            ],
      -            "type": "object"
      -          },
      -          "domain": {
      -            "maxLength": 200,
      -            "minLength": 1,
      -            "pattern": "\\S",
      -            "type": "string"
      -          },
      -          "id": {
      -            "maxLength": 100,
      -            "minLength": 1,
      -            "pattern": "\\S",
      -            "type": "string"
      -          },
      -          "idea": {
      -            "maxLength": 1750,
      -            "minLength": 15,
      -            "pattern": "\\S",
      -            "type": "string"
      -          },
      -          "revision": {
      -            "minimum": 1,
      -            "type": "integer"
      -          },
      -          "state": {
      -            "enum": [
      -              "open",
      -              "ended"
      -            ]
      -          }
      -        },
      -        "required": [
      -          "id",
      -          "idea",
      -          "domain",
      -          "agent",
      -          "state",
      -          "revision"
      -        ],
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "contract",
      -      "session",
      -      "concepts",
      -      "next"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "additionalProperties": false,
      -    "properties": {
      -      "code": {
      -        "const": "rate_limited"
      -      },
      -      "contract": {
      -        "const": "a2a2p.co-invention/1.0.0"
      -      },
      -      "error": {
      -        "additionalProperties": false,
      -        "properties": {
      -          "code": {
      -            "maxLength": 80,
      -            "minLength": 1,
      -            "pattern": "\\S",
      -            "type": "string"
      -          },
      -          "message": {
      -            "maxLength": 1000,
      -            "minLength": 1,
      -            "pattern": "\\S",
      -            "type": "string"
      -          }
      -        },
      -        "required": [
      -          "code",
      -          "message"
      -        ],
      -        "type": "object"
      -      },
      -      "rate_limit": {
      -        "description": "a2a2p.rate-limit/2.0.0 receipt",
      -        "type": "object"
      -      }
      -    },
      -    "required": [
      -      "contract",
      -      "error"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "concepts": {
      +        "items": {
      +          "additionalProperties": true,
      +          "properties": {
      +            "decision": {
      +              "oneOf": [
      +                {
      +                  "type": "null"
      +                },
      +                {
      +                  "additionalProperties": true,
      +                  "properties": {
      +                    "at": {
      +                      "maxLength": 100,
      +                      "minLength": 1,
      +                      "pattern": "\\S",
      +                      "type": "string"
      +                    },
      +                    "by": {
      +                      "additionalProperties": true,
      +                      "properties": {
      +                        "kind": {
      +                          "enum": [
      +                            "person",
      +                            "agent",
      +                            "debbie"
      +                          ]
      +                        },
      +                        "name": {
      +                          "maxLength": 80,
      +                          "minLength": 1,
      +                          "pattern": "\\S",
      +                          "type": "string"
      +                        },
      +                        "untrusted": {
      +                          "type": "boolean"
      +                        }
      +                      },
      +                      "required": [
      +                        "kind"
      +                      ],
      +                      "type": "object"
      +                    },
      +                    "reason": {
      +                      "maxLength": 400,
      +                      "minLength": 1,
      +                      "pattern": "\\S",
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "by",
      +                    "reason",
      +                    "at"
      +                  ],
      +                  "type": "object"
      +                }
      +              ]
      +            },
      +            "id": {
      +              "maxLength": 100,
      +              "minLength": 1,
      +              "pattern": "\\S",
      +              "type": "string"
      +            },
      +            "job": {
      +              "oneOf": [
      +                {
      +                  "type": "null"
      +                },
      +                {
      +                  "description": "deb8 job reference, if any; this adapter cannot start a job",
      +                  "type": "object"
      +                }
      +              ]
      +            },
      +            "looksLikeInstruction": {
      +              "type": "boolean"
      +            },
      +            "material": {
      +              "maxLength": 3878,
      +              "minLength": 1,
      +              "pattern": "\\S",
      +              "type": "string"
      +            },
      +            "provenance": {
      +              "additionalProperties": true,
      +              "properties": {
      +                "derivedFrom": {
      +                  "oneOf": [
      +                    {
      +                      "type": "null"
      +                    },
      +                    {
      +                      "maxLength": 100,
      +                      "minLength": 1,
      +                      "pattern": "\\S",
      +                      "type": "string"
      +                    }
      +                  ]
      +                },
      +                "materialDigest": {
      +                  "maxLength": 64,
      +                  "minLength": 64,
      +                  "pattern": "\\S",
      +                  "type": "string"
      +                },
      +                "receivedAt": {
      +                  "maxLength": 100,
      +                  "minLength": 1,
      +                  "pattern": "\\S",
      +                  "type": "string"
      +                },
      +                "via": {
      +                  "enum": [
      +                    "api",
      +                    "connector",
      +                    "workspace",
      +                    "deb8"
      +                  ]
      +                }
      +              },
      +              "required": [
      +                "via",
      +                "derivedFrom",
      +                "materialDigest",
      +                "receivedAt"
      +              ],
      +              "type": "object"
      +            },
      +            "sessionId": {
      +              "maxLength": 100,
      +              "minLength": 1,
      +              "pattern": "\\S",
      +              "type": "string"
      +            },
      +            "source": {
      +              "additionalProperties": true,
      +              "properties": {
      +                "kind": {
      +                  "enum": [
      +                    "person",
      +                    "agent",
      +                    "debbie"
      +                  ]
      +                },
      +                "name": {
      +                  "maxLength": 80,
      +                  "minLength": 1,
      +                  "pattern": "\\S",
      +                  "type": "string"
      +                },
      +                "untrusted": {
      +                  "type": "boolean"
      +                }
      +              },
      +              "required": [
      +                "kind"
      +              ],
      +              "type": "object"
      +            },
      +            "state": {
      +              "enum": [
      +                "proposed",
      +                "accepted",
      +                "rejected"
      +              ]
      +            },
      +            "title": {
      +              "maxLength": 120,
      +              "minLength": 1,
      +              "pattern": "\\S",
      +              "type": "string"
      +            },
      +            "version": {
      +              "minimum": 1,
      +              "type": "integer"
      +            }
      +          },
      +          "required": [
      +            "id",
      +            "sessionId",
      +            "title",
      +            "material",
      +            "looksLikeInstruction",
      +            "source",
      +            "provenance",
      +            "state",
      +            "decision",
      +            "job",
      +            "version"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "contract": {
      +        "const": "a2a2p.co-invention/1.1.0"
      +      },
      +      "follow_token": {
      +        "maxLength": 64,
      +        "minLength": 1,
      +        "pattern": "\\S",
      +        "type": "string"
      +      },
      +      "follow_url": {
      +        "maxLength": 300,
      +        "minLength": 1,
      +        "pattern": "\\S",
      +        "type": "string"
      +      },
      +      "next": {
      +        "maxLength": 1000,
      +        "minLength": 1,
      +        "pattern": "\\S",
      +        "type": "string"
      +      },
      +      "session": {
      +        "additionalProperties": true,
      +        "properties": {
      +          "agent": {
      +            "additionalProperties": false,
      +            "properties": {
      +              "name": {
      +                "maxLength": 40,
      +                "minLength": 1,
      +                "pattern": "\\S",
      +                "type": "string"
      +              },
      +              "platform": {
      +                "maxLength": 36,
      +                "minLength": 1,
      +                "pattern": "\\S",
      +                "type": "string"
      +              }
      +            },
      +            "required": [
      +              "name",
      +              "platform"
      +            ],
      +            "type": "object"
      +          },
      +          "domain": {
      +            "maxLength": 200,
      +            "minLength": 1,
      +            "pattern": "\\S",
      +            "type": "string"
      +          },
      +          "id": {
      +            "maxLength": 100,
      +            "minLength": 1,
      +            "pattern": "\\S",
      +            "type": "string"
      +          },
      +          "idea": {
      +            "maxLength": 1750,
      +            "minLength": 15,
      +            "pattern": "\\S",
      +            "type": "string"
      +          },
      +          "revision": {
      +            "minimum": 1,
      +            "type": "integer"
      +          },
      +          "state": {
      +            "enum": [
      +              "open",
      +              "ended"
      +            ]
      +          }
      +        },
      +        "required": [
      +          "id",
      +          "idea",
      +          "domain",
      +          "agent",
      +          "state",
      +          "revision"
      +        ],
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "contract",
      +      "session",
      +      "concepts",
      +      "next"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "additionalProperties": false,
      +    "properties": {
      +      "code": {
      +        "const": "rate_limited"
      +      },
      +      "contract": {
      +        "const": "a2a2p.co-invention/1.1.0"
      +      },
      +      "error": {
      +        "additionalProperties": false,
      +        "properties": {
      +          "code": {
      +            "maxLength": 80,
      +            "minLength": 1,
      +            "pattern": "\\S",
      +            "type": "string"
      +          },
      +          "message": {
      +            "maxLength": 1000,
      +            "minLength": 1,
      +            "pattern": "\\S",
      +            "type": "string"
      +          }
      +        },
      +        "required": [
      +          "code",
      +          "message"
      +        ],
      +        "type": "object"
      +      },
      +      "rate_limit": {
      +        "description": "a2a2p.rate-limit/2.0.0 receipt",
      +        "type": "object"
      +      }
      +    },
      +    "required": [
      +      "contract",
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Added

TDQS

B3.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so the description bears full burden, and it does well here: it discloses the session is free/no-side-effects, that the follow token authorizes reading and changing, and that only the SHA-256 digest is stored. It stops short of explaining how revision conflicts or direction changes behave.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four tight sentences with no filler, and the scope-limiting clause is front-loaded. Slight loss for packing security notes ahead of what the steering action actually does.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be described. But for a five-required-param mutation tool with no annotations, leaving revision/direction/actor semantics unexplained is a real completeness gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% across five required params, and the description only illuminates follow_token (digest storage, secrecy, change authority). session_id, actor, revision and direction receive no semantic explanation in either schema or description, leaving the conflict-control 'revision' field especially opaque.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb 'steer' and resource 'co-invention session' are named, but 'steer' is vague against siblings like decide_co_invention_session and feed_co_invention_session. 'Free concept selection only' narrows scope somewhat, yet the action is not sharply distinguished from its siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly states what does NOT happen (no research, model run, payment, procurement or manufacture), which implies a low-stakes brainstorming context. However, it never says when to choose this over decide/feed/follow on the same session.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources