Skip to main content

Make your API agent-ready in minutes. One declaration, every protocol.

Project description

usepaso

One paso. Every protocol.

Declare your API's agent capabilities once. UsePaso generates the MCP server. No protocol expertise required.

Self-hosted. Open source. Apache 2.0.

CI PyPI

Install

pip install usepaso

Quick Start

# Scaffold a declaration
usepaso init --name "MyService"

# Or generate from an existing OpenAPI spec
usepaso init --from-openapi ./openapi.json

# Check it
usepaso validate

# Preview what MCP tools will be generated
usepaso inspect

# Test a capability (without the consequences)
usepaso test list_issues -p org=acme -p project=web --dry-run

# Start the MCP server
usepaso serve

That's it. Your API is agent-ready.

What You Write

# usepaso.yaml
version: "1.0"

service:
  name: MyService
  description: My API service
  base_url: https://api.example.com
  auth:
    type: bearer

capabilities:
  - name: list_items
    description: List all items
    method: GET
    path: /items
    permission: read

  - name: create_item
    description: Create a new item
    method: POST
    path: /items
    permission: write
    consent_required: true
    inputs:
      name:
        type: string
        required: true
        description: Item name

What UsePaso Does With It

Each capability becomes an MCP tool. When an agent calls it, UsePaso makes the HTTP request to your API with proper auth, parameters, and error handling.

CLI

Command What it does
usepaso init Scaffold a usepaso.yaml template
usepaso init --from-openapi Generate from an OpenAPI spec
usepaso validate Check your declaration for errors
usepaso inspect Preview MCP tools that will be generated
usepaso test <capability> Test a capability against the live API
usepaso test --dry-run Same thing, minus the consequences
usepaso serve Start an MCP server (stdio)
usepaso serve --verbose Serve with request logging

Programmatic Usage

# Package name is "usepaso", import name is "paso"
from paso import parse_file, validate

decl = parse_file('usepaso.yaml')
errors = validate(decl)

Connect to Claude Desktop

{
  "mcpServers": {
    "my-service": {
      "command": "usepaso",
      "args": ["serve", "-f", "/path/to/usepaso.yaml"],
      "env": { "USEPASO_AUTH_TOKEN": "your-token" }
    }
  }
}

Links

License

Apache 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

usepaso-0.3.1.tar.gz (28.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

usepaso-0.3.1-py3-none-any.whl (21.7 kB view details)

Uploaded Python 3

File details

Details for the file usepaso-0.3.1.tar.gz.

File metadata

  • Download URL: usepaso-0.3.1.tar.gz
  • Upload date:
  • Size: 28.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for usepaso-0.3.1.tar.gz
Algorithm Hash digest
SHA256 03cea244f6eeaef9de95c72fe7626cc48de5760ba0611c08dc8e0c7c6a542bc5
MD5 16799c898823812a7c45dd76d30a4e8e
BLAKE2b-256 65a0ccc87733cb86a7688c63c5989b0d3a4983f097c1b87f4816e5239992f89d

See more details on using hashes here.

Provenance

The following attestation bundles were made for usepaso-0.3.1.tar.gz:

Publisher: release.yml on 5h1vmani/usepaso

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file usepaso-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: usepaso-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 21.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for usepaso-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bfd5e58b080702d63eafd6eeea83f5a138e291e096f61563715759eba8f55e76
MD5 095567236e261d91e4f0b805c0d04f7c
BLAKE2b-256 5aa15608ded38971c34fce2852a962b1af530c0f963dbd0cd644b51a2cc50a31

See more details on using hashes here.

Provenance

The following attestation bundles were made for usepaso-0.3.1-py3-none-any.whl:

Publisher: release.yml on 5h1vmani/usepaso

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page