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.2.3.tar.gz (18.3 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.2.3-py3-none-any.whl (17.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for usepaso-0.2.3.tar.gz
Algorithm Hash digest
SHA256 90977c49f9b1dc03fe262dead4e9b72440f6470182c2f2b110dd96f2905acfd9
MD5 df50ce7dab11c5fa4f34c3175a7fec9c
BLAKE2b-256 971901c3da36f9b1086a69df71c9e14b505c89964783230e7d2a2d69209c968b

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: usepaso-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 17.9 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.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9ff1a15605887bc56d470fc7d0b81b380edba4f1aad1b2ff7869410996b6ad49
MD5 e5a3fd640f6cde817071ee1ee27ee0f5
BLAKE2b-256 0262d5666824598a858d99b81e026d13bec2a4a0b5361c8acc33a12ef8c69ea9

See more details on using hashes here.

Provenance

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