/** * MCP Tool Definitions * * JSON Schema definitions for every tool exposed by the Crewly MCP server. * Extracted from `mcp-server.ts` so that the server module can stay focused * on routing + lifecycle, while tool contracts live on their own. * * Each entry describes the tool's public shape: `name`, `description`, and * `inputSchema`. The server advertises these verbatim in response to the * MCP `tools/list` request and uses the `name` to dispatch `tools/call`. * * @module services/mcp-tool-definitions */ /** * MCP tool definitions for Crewly capabilities. * Each tool has a name, description, and JSON Schema for its input. */ export declare const TOOL_DEFINITIONS: readonly [{ readonly name: "crewly_get_teams"; readonly description: string; readonly inputSchema: { readonly type: "object"; readonly properties: { readonly teamId: { readonly type: "string"; readonly description: "Optional: filter to a specific team by ID"; }; }; }; }, { readonly name: "crewly_create_team"; readonly description: string; readonly inputSchema: { readonly type: "object"; readonly properties: { readonly name: { readonly type: "string"; readonly description: "Team name (e.g. \"Backend Squad\")"; }; readonly description: { readonly type: "string"; readonly description: "Optional team description"; }; readonly members: { readonly type: "array"; readonly description: "Array of team members to create"; readonly items: { readonly type: "object"; readonly properties: { readonly name: { readonly type: "string"; readonly description: "Member name"; }; readonly role: { readonly type: "string"; readonly description: "Member role (developer, qa, product-manager, designer, etc.)"; }; readonly runtimeType: { readonly type: "string"; readonly enum: readonly ["claude-code", "gemini-cli", "codex-cli", "opencode-cli", "antigravity-cli", "crewly-agent"]; readonly description: "AI runtime to use (default: claude-code)"; }; }; readonly required: readonly ["name", "role"]; }; }; }; readonly required: readonly ["name", "members"]; }; }, { readonly name: "crewly_assign_task"; readonly description: string; readonly inputSchema: { readonly type: "object"; readonly properties: { readonly teamId: { readonly type: "string"; readonly description: "ID of the team the agent belongs to"; }; readonly memberId: { readonly type: "string"; readonly description: "ID of the member to assign the task to"; }; readonly task: { readonly type: "string"; readonly description: "Task description/instructions for the agent"; }; }; readonly required: readonly ["teamId", "memberId", "task"]; }; }, { readonly name: "crewly_get_status"; readonly description: string; readonly inputSchema: { readonly type: "object"; readonly properties: { readonly teamId: { readonly type: "string"; readonly description: "Optional: filter to a specific team"; }; readonly memberId: { readonly type: "string"; readonly description: "Optional: filter to a specific member within a team"; }; }; }; }, { readonly name: "crewly_recall_memory"; readonly description: string; readonly inputSchema: { readonly type: "object"; readonly properties: { readonly query: { readonly type: "string"; readonly description: "Search query for the memory/knowledge system"; }; readonly agentId: { readonly type: "string"; readonly description: "Optional: agent ID to scope the recall"; }; readonly projectPath: { readonly type: "string"; readonly description: "Optional: project path to scope the recall"; }; readonly scope: { readonly type: "string"; readonly enum: readonly ["agent", "project", "both"]; readonly description: "Memory scope to search (default: both)"; }; readonly capability: { readonly type: "string"; readonly description: string; }; }; readonly required: readonly ["query"]; }; }, { readonly name: "crewly_send_message"; readonly description: string; readonly inputSchema: { readonly type: "object"; readonly properties: { readonly message: { readonly type: "string"; readonly description: "Message content to send"; }; readonly conversationId: { readonly type: "string"; readonly description: "Optional: conversation ID for threading (auto-generated if omitted)"; }; }; readonly required: readonly ["message"]; }; }, { readonly name: "crewly_credential_list"; readonly description: string; readonly inputSchema: { readonly type: "object"; readonly properties: { readonly type: { readonly type: "string"; readonly enum: readonly ["api-key", "google-oauth"]; readonly description: "Optional: filter by credential type"; }; readonly provider: { readonly type: "string"; readonly description: "Optional: filter by provider (e.g., \"google\", \"gemini\")"; }; }; }; }, { readonly name: "crewly_credential_add_api_key"; readonly description: string; readonly inputSchema: { readonly type: "object"; readonly properties: { readonly name: { readonly type: "string"; readonly description: "User-facing name for this credential (e.g., \"gemini-main\")"; }; readonly provider: { readonly type: "string"; readonly description: "Provider identifier (e.g., \"gemini\", \"openai\", \"anthropic\")"; }; readonly value: { readonly type: "string"; readonly description: "The raw API key value"; }; }; readonly required: readonly ["name", "provider", "value"]; }; }, { readonly name: "crewly_credential_oauth_import_gemini_cli"; readonly description: string; readonly inputSchema: { readonly type: "object"; readonly properties: { readonly name: { readonly type: "string"; readonly description: "Name for this credential (typically the account email or a nickname like \"info-steam-fun\")"; }; }; readonly required: readonly ["name"]; }; }, { readonly name: "crewly_credential_clear_gemini_cli_file"; readonly description: string; readonly inputSchema: { readonly type: "object"; readonly properties: {}; }; }, { readonly name: "crewly_credential_delete"; readonly description: string; readonly inputSchema: { readonly type: "object"; readonly properties: { readonly id: { readonly type: "string"; readonly description: "Credential UUID (e.g., \"cred-abc123\")"; }; }; readonly required: readonly ["id"]; }; }, { readonly name: "crewly_execute_skill"; readonly description: string; readonly inputSchema: { readonly type: "object"; readonly properties: { readonly skillId: { readonly type: "string"; readonly description: "Skill identifier (e.g., \"skill-gmail-reader\")"; }; readonly credentialBindings: { readonly type: "object"; readonly description: "Map of skill slot name → credential UUID. Overrides any default bound to the skill."; readonly additionalProperties: { readonly type: "string"; }; }; readonly userInput: { readonly type: "string"; readonly description: "User-provided input for the skill (optional)"; }; readonly agentId: { readonly type: "string"; readonly description: "Agent ID for context (default: \"mcp-agent\")"; }; readonly roleId: { readonly type: "string"; readonly description: "Role ID for context (default: \"default\")"; }; }; readonly required: readonly ["skillId"]; }; }]; //# sourceMappingURL=mcp-tool-definitions.d.ts.map