Menu

CLI Commands

Reference for all paso CLI commands.

paso has five commands: init, validate, inspect, test, and serve.

usepaso init

Scaffold a new usepaso.yaml declaration.

usepaso init --name "ServiceName"

From an OpenAPI spec

usepaso init --from-openapi ./openapi.json
usepaso init --from-openapi https://api.example.com/openapi.json

This generates a usepaso.yaml from your OpenAPI spec. Edit the result to curate capabilities and set permissions.


usepaso validate

Check your declaration for errors.

usepaso validate

Output on success:

valid (ServiceName, N capabilities)

Output on failure:

Error: Missing `capabilities` field in usepaso.yaml.
Every declaration needs at least one capability.

Validation checks:

  • All required fields are present
  • Field types are correct
  • No duplicate capability names
  • Auth configuration is valid
  • Path variables match inputs

usepaso inspect

Preview what MCP tools will be generated from your declaration.

usepaso inspect

Output:

Service:  ServiceName
Tools:    N
Protocol: MCP

  list_items       List all items
  create_item      Create a new item
  delete_item      Delete an item by ID

usepaso test

Test a capability with a real HTTP request.

usepaso test <capability> [options]

Options

FlagDescription
-p <key=value>Pass a parameter (repeatable)
--dry-runPreview the request without sending it
--verboseShow full request and response details

Examples

Test a capability:

usepaso test list_items -p limit=5

Test with multiple parameters:

usepaso test create_issue -p owner=acme -p repo=app -p title="Bug report"

Preview without sending:

usepaso test list_items --dry-run
--- DRY RUN (no request will be made) ---

GET /items?limit=5
Authorization: Bearer [REDACTED]

Authentication

Set the environment variable your declaration expects:

export USEPASO_AUTH_TOKEN=your-token
usepaso test list_items

usepaso serve

Start an MCP server from your declaration.

usepaso serve

Output:

usepaso serving "ServiceName" (N capabilities)

The server runs on stdio. MCP clients (Claude Desktop, Cursor) connect to it. Stop with Ctrl+C.

Using with npx

npx usepaso serve

This is the recommended approach for Claude Desktop and Cursor configs. No global install needed.


Environment variables

VariableDescription
USEPASO_AUTH_TOKENDefault auth token (used when auth.type is bearer)
Custom variablesSet any variable your declaration’s auth.env_var specifies

Example:

export GITHUB_TOKEN=ghp_xxxxx
usepaso serve

CI/CD

Validate declarations in CI:

# GitHub Actions
- run: npm install usepaso
- run: npx usepaso validate

Next steps