Skip to main content

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

Project description

UsePaso

CI PyPI License

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

UsePaso lets any service declare what AI agents can do with their API. Write a usepaso.yaml, and UsePaso generates a working MCP server. No protocol expertise required.

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

# Validate
usepaso validate

# Preview what MCP tools will be generated
usepaso inspect

# Test a capability
usepaso test list_issues -p org=acme -p project=web --dry-run

# Start the MCP server
usepaso serve

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

usepaso.yaml → MCP server (Claude, Cursor, any MCP client)

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

CLI Commands

Command What it does
usepaso init Scaffold a usepaso.yaml template
usepaso init --from-openapi Generate from OpenAPI spec (file or URL)
usepaso validate Check your declaration for errors
usepaso inspect Preview MCP tools that will be generated
usepaso test <capability> Test a capability with a real HTTP request
usepaso test <cap> --dry-run Preview the HTTP request without executing
usepaso serve Start an MCP server (stdio transport)
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 MCP Clients

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.0.tar.gz (28.1 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.0-py3-none-any.whl (21.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: usepaso-0.3.0.tar.gz
  • Upload date:
  • Size: 28.1 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.0.tar.gz
Algorithm Hash digest
SHA256 09f47c99aef2b1739995f2823ae32907404b1fa2b833b65bf2628067369181f6
MD5 3690cccc3907f1ca1fb5ebbd3ac95f4b
BLAKE2b-256 c1f5d9c21b6ca7c919a9620daa7bb7fa6ac29f511ecfbd1b72865fd4205ee27c

See more details on using hashes here.

Provenance

The following attestation bundles were made for usepaso-0.3.0.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.0-py3-none-any.whl.

File metadata

  • Download URL: usepaso-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 21.8 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 150e76e7e0fa32ff773d9f18deb3515ef53ff5d3d4d707bd4283f12c382a3b9b
MD5 5cb051ffce7ec573047c69f30b7c67fa
BLAKE2b-256 433240d464263c00849301feb1e3e42aa67d6c1787ccb2483d28da2ff299118b

See more details on using hashes here.

Provenance

The following attestation bundles were made for usepaso-0.3.0-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