Monkeys
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

FieldRequiredDescription
schema_versionYesCurrently v1.
display_nameYesTool display name in the console.
namespaceYesUnique stable tool identifier.
auth.typeYesnone or service_http.
auth.authorization_typeNoCurrently bearer for service_http.
auth.verification_tokens.monkeysNoBearer token used when Monkeys calls the tool.
api.typeYesCurrently openapi.
api.urlYesOpenAPI JSON URL, relative or absolute.
contact_emailNoMaintainer contact.
healthCheckNoHealth check path.
triggerEndpointsNoTrigger create, update, and delete endpoints.
triggersNoTrigger definitions provided by the tool.
credentialsNoCredential type definitions.
rsaPublicKeyNoPublic key for credential encryption flows.
rateLimiter.maxConcurrentRequestsNoTool concurrency limit.
logEndpointNoTool 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.

On this page