tool_create
Register an HTTP API endpoint as a tool with schema validation, credential injection, and health monitoring.
Instructions
Register a new tool in the tool registry. A tool wraps an HTTP API endpoint with optional credential injection, health monitoring, and schema validation.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Human-readable name for the tool (e.g. "OpenAI Chat Completions") | |
| tags | No | Tags for categorization and search | |
| base_url | No | Base URL for the API (e.g. "https://api.openai.com/v1") | |
| is_public | No | Whether this tool is visible to other users (default: false) | |
| tool_type | Yes | Type of tool: rest, graphql, grpc, webhook, script, cli, mcp, template, prompt, nomcp | |
| category_id | No | UUID of the category to assign this tool to | |
| description | No | Description of what the tool does | |
| credential_id | No | UUID of a vault credential to link for automatic auth injection | |
| metadata_json | No | Arbitrary JSON metadata for the tool | |
| endpoints_json | No | JSON array of endpoint definitions: [{"path": "/chat/completions", "method": "POST", "description": "..."}] | |
| rate_limit_json | No | JSON rate limit config, e.g. {"requests_per_minute": 60, "requests_per_day": 1000} | |
| health_check_url | No | URL to ping for health checks | |
| hosting_provider | No | Hosting provider: berrry, vercel, fly, railway, cloudflare, aws_lambda, self_hosted, external | |
| input_schema_json | No | JSON Schema for the tool input (optional) | |
| cost_per_call_json | No | JSON cost config, e.g. {"amount": "0.01", "currency": "USD"} | |
| output_schema_json | No | JSON Schema for the tool output (optional) | |
| hosting_metadata_json | No | JSON with provider-specific metadata. For Berrry: {"subdomain":"x","nomcp_credential_id":"uuid","auth_path":"user|agent","visibility":"public|private|unlisted"} |