{"serverId":"mcp-registry/com.cambercloud.camber-mcp/camber-mcp-server","tools":[{"name":"agents_chat_start","fixed":{"name":"agents_chat_start","description":"Start a Camber agent chat. This is the tool to use for chatting with an agent.\n\n        Agent runs can take minutes — longer than MCP tool timeouts allow (Claude Desktop\n        cannot extend them). So this tool does NOT wait for the reply: it submits the\n        message and returns immediately with a `conversation_id` and a clickable `chat_url`.\n        The agent keeps working on the server after this returns.\n\n        **You MUST follow up, the reply is NOT in this tool's result:**\n        1. A","inputSchema":{"type":"object","properties":{"stop":{"type":"boolean","default":false,"description":"Set true to stop the conversation's currently running response and start this message instead. Only meaningful with conversation_id. Use it when a previous call reported the conversation is still generating a response and the user wants to interrupt it and send a new message."},"message":{"type":"string","default":"","description":"The message to send to the agent."},"agent_tag":{"type":"string","default":null,"description":"Tag of the agent you want to chat with. Start with @ to use the agent's tag.agent_tag = `@owner_name.agent_alias`For example, @camber_user.ai-agent-1"},"conversation_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optional UUID of an existing conversation to continue. Pass the conversation_id from a previous agents_chat_start call to keep context across turns."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":420,"tokensAfter":420},{"name":"agents_chat_status","fixed":{"name":"agents_chat_status","description":"Check an async agent chat started with agents_chat_start, and return its reply when done.\n\n        This checks the CLI twice over 30 seconds and returns its latest status response.\n        Status values:\n        - `running`: still working — call this tool again with the same conversation_id.\n        - `idle`: finished — `content` holds the agent's reply.\n        - `failed`: the run errored.\n\n        Returns: AgentChatStatus with `status`, `content` (the reply once done), and\n        `output_stas","inputSchema":{"type":"object","properties":{"conversation_id":{"type":"string","default":"","description":"The conversation_id returned by agents_chat_start, identifying the run to check."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":216,"tokensAfter":216},{"name":"agents_create","fixed":{"name":"agents_create","description":"Create a Camber agent.\n\n        Creates a personal agent by default. Pass `team_name` to create the agent\n        for a team you belong to. Returns the created agent, including its `tag`.","inputSchema":{"type":"object","properties":{"name":{"type":"string","default":"","description":"Name of the agent to create."},"alias":{"type":"string","default":"","description":"Alias used in the agent tag, for example `my-agent` in `@owner.my-agent`."},"team_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optional team unique name. When omitted, creates a personal agent."},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optional short description of the agent."},"instructions":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Optional instructions that define the agent behavior."},"structured_output":{"type":"boolean","default":false,"description":"Whether the agent should return structured output."}},"additionalProperties":false},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":299,"tokensAfter":299},{"name":"agents_list","fixed":{"name":"agents_list","description":"List Camber agents with optional scope and pagination.\n\n        Returns: AgentListInfo object containing:\n        - data: List of AgentInfo objects\n        - page: PageInfo object with pagination details (page, size, total, num_page)","inputSchema":{"type":"object","properties":{"page":{"type":"integer","default":1,"description":"The page number to list agents from (default: 1)."},"size":{"type":"integer","default":20,"description":"The number of agents to list per page (default: 20)."},"scope":{"anyOf":[{"enum":["community","system","team"],"type":"string"},{"type":"null"}],"default":null,"description":"Scope of agents to list. Use 'community' for community agents, 'system' for system agents, 'team' for a specific team, or leave empty (null) to list your personal agents."},"team_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Unique name of the team whose agents you want to list. Required when scope is 'team'. Ignored for other scopes."}},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":294,"tokensAfter":294},{"name":"user_info","fixed":{"name":"user_info","description":"Get the authenticated Camber user and team names.\n\n        Returns email, username, and teams list.","inputSchema":{"type":"object","properties":{},"additionalProperties":false},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":60,"tokensAfter":60}],"toolsChanged":5,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}