submit_service
Submit a service to the BotFriendly directory. There is no review queue: each interface URL must be on the service's own domain, or linked from the service's own site, and is fetched during the call; the listing publishes immediately if its MCP server, OpenAPI spec or API completes a handshake — one of has_mcp_server, has_openapi_spec or has_api is required; llms.txt, skill files and feeds only add badges. The url must be the product, not an article (/blog/, /news/ and similar are rejected), and a domain can add at most 2 listings a day and 3 in total. Every listing needs an icon — pass icon_url, or leave it out and the service's own site is checked for one.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Service URL | |
| name | Yes | Service name | |
| tags | No | ||
| api_url | No | Required when has_api is true: the API's base URL (api.example.com, or a path under /api or /v1). It must answer in JSON. On the service's own domain, or linked from its site. | |
| has_api | No | ||
| category | Yes | Category id (see list_categories) | |
| icon_url | No | Link to the service's icon (PNG, JPEG, SVG or WebP, under 1MB). Fetched and re-hosted, downscaled to 512px. Omit it and the service's site is checked for one. | |
| accepts_mpp | No | ||
| auth_method | No | Auth method | |
| description | Yes | Short description (max 120 chars) | |
| icon_base64 | No | Alternative to icon_url: the image inline, as a data: URI or bare base64. | |
| accepts_x402 | No | ||
| billing_model | No | ||
| contact_email | No | Contact email for verification | |
| has_mcp_server | No | ||
| mcp_server_url | No | Required when has_mcp_server is true. On the service's own domain, or linked from its site. | |
| has_openapi_spec | No | ||
| openapi_spec_url | No | Required when has_openapi_spec is true. On the service's own domain, or linked from its site. |