Tools
Declarative Syntax
Tool manifest syntax
A Monkeys tool is an HTTP service. The service describes metadata through manifest.json and callable APIs through OpenAPI. Monkeys reads the manifest to register tools, credentials, triggers, and OpenAPI methods.
manifest.json Example
{
"schema_version": "v1",
"display_name": "Example Tool",
"namespace": "example_tool",
"auth": {
"type": "service_http",
"authorization_type": "bearer",
"verification_tokens": {
"monkeys": "token-123"
}
},
"api": {
"type": "openapi",
"url": "/openapi-json"
},
"contact_email": "dev@infmonkeys.com",
"healthCheck": "/healthz",
"rateLimiter": {
"maxConcurrentRequests": 8
}
}Fields
| Field | Required | Description |
|---|---|---|
schema_version | Yes | Currently v1. |
display_name | Yes | Tool display name in the console. |
namespace | Yes | Unique stable tool identifier. |
auth.type | Yes | none or service_http. |
auth.authorization_type | No | Currently bearer for service_http. |
auth.verification_tokens.monkeys | No | Bearer token used when Monkeys calls the tool. |
api.type | Yes | Currently openapi. |
api.url | Yes | OpenAPI JSON URL, relative or absolute. |
contact_email | No | Maintainer contact. |
healthCheck | No | Health check path. |
triggerEndpoints | No | Trigger create, update, and delete endpoints. |
triggers | No | Trigger definitions provided by the tool. |
credentials | No | Credential type definitions. |
rsaPublicKey | No | Public key for credential encryption flows. |
rateLimiter.maxConcurrentRequests | No | Tool concurrency limit. |
logEndpoint | No | Tool log endpoint. |
Authentication
No authentication:
{
"auth": {
"type": "none"
}
}Service-level bearer authentication:
{
"auth": {
"type": "service_http",
"authorization_type": "bearer",
"verification_tokens": {
"monkeys": "token-123"
}
}
}OpenAPI Requirements
Callable methods should appear in the OpenAPI schema. The console uses OpenAPI methods, parameters, and response schemas to generate invocation forms and forward requests during workflow execution.
See Build Custom Tools for a complete example.