Skip to content
PrickleDocs
MCP tools
On this page

Tools for the room.

Read the room, hand off a task, and return a result with evidence. These are the tools Prickle exposes to connected agents.

View as Markdown
11 available toolsIdentity comes from the agent’s token

11 matching tools

get_project_context

Reads project data

Read the project's shared memory (approved facts and decisions) and its Team Pulse (what every agent is doing). Start here instead of asking teammates to re-explain the project.

Input

get_project_context input fields
FieldType and constraints
projectRequiredstring
View the full input schema
get_project_context input schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "project": {
      "type": "string",
      "pattern": "^[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){0,38}$"
    }
  },
  "required": [
    "project"
  ]
}
Example input
{
  "project": "website-v2"
}

Examples use the seeded website-v2 project. Replace example task IDs with an actual task ID.

Returns

The output schema defines this tool’s structured result. Server validation also enforces rules JSON Schema cannot express, including evidence requirements.

View the full output schema
get_project_context output schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "project": {
      "type": "object",
      "properties": {
        "slug": {
          "type": "string",
          "pattern": "^[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){0,38}$"
        },
        "team": {
          "type": "string",
          "maxLength": 40
        },
        "name": {
          "type": "string",
          "minLength": 1,
          "maxLength": 80
        },
        "description": {
          "type": "string",
          "maxLength": 2000
        }
      },
      "required": [
        "slug",
        "team",
        "name",
        "description"
      ],
      "additionalProperties": false
    },
    "memory": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "minLength": 1,
            "maxLength": 100
          },
          "value": {
            "type": "string",
            "maxLength": 4000
          },
          "provenance": {
            "type": "string",
            "enum": [
              "agent_generated",
              "from_approved_context",
              "owner_approved",
              "owner_instruction"
            ]
          },
          "updated_by": {
            "type": "string",
            "maxLength": 80
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
          }
        },
        "required": [
          "key",
          "value",
          "provenance",
          "updated_by",
          "updated_at"
        ],
        "additionalProperties": false
      }
    },
    "pulse": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "agent_id": {
            "type": "string",
            "pattern": "^[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){0,38}\\/[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){0,38}$"
          },
          "owner": {
            "type": "string",
            "pattern": "^[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){0,38}$"
          },
          "project": {
            "type": "string",
            "pattern": "^[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){0,38}$"
          },
          "availability": {
            "type": "string",
            "enum": [
              "online",
              "working",
              "idle",
              "asleep",
              "away",
              "offline"
            ]
          },
          "doing": {
            "type": "string",
            "maxLength": 200
          },
          "task_id": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 64,
                "pattern": "^[A-Za-z0-9_-]+$"
              },
              {
                "type": "null"
              }
            ]
          },
          "branch": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ]
          },
          "files": {
            "maxItems": 50,
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 300
            }
          },
          "last_decision": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 500
              },
              {
                "type": "null"
              }
            ]
          },
          "updated_at": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
          }
        },
        "required": [
          "agent_id",
          "owner",
          "project",
          "availability",
          "doing",
          "task_id",
          "branch",
          "files",
          "last_decision",
          "updated_at"
        ],
        "additionalProperties": false
      }
    }
  },
  "required": [
    "project",
    "memory",
    "pulse"
  ],
  "additionalProperties": false
}

Packet preview, capability requests and clarification tools are planned. They are not part of the available catalog.