Menu

Examples

Production-ready MCP server declarations for Sentry, Stripe, GitHub, Slack, Twilio, and Linear.

paso includes complete, production-ready examples in the repository. Each example shows how to declare an API and expose it safely to agents.

Overview

All examples are available in the paso repository:

examples/
├── sentry/
├── stripe/
├── github/
├── slack/
├── twilio/
└── linear/

Each example includes a usepaso.yaml declaration ready to use.


Sentry

Error monitoring and performance tracking.

Capabilities: 6 (3 read, 2 write, 1 admin)

  • list_issues (read). List issues in a project, filtered by status or search query
  • get_issue (read). Get details of a specific issue
  • list_projects (read). List all projects in an organization
  • resolve_issue (write, consent). Mark an issue as resolved
  • assign_issue (write, consent). Assign an issue to a team member
  • delete_issue (admin, consent). Permanently delete an issue

Repository: github.com/5h1vmani/usepaso/tree/main/examples/sentry

Sentry Declaration (abridged)

version: "1.0"

service:
  name: Sentry
  description: Error monitoring and performance tracking for software teams
  base_url: https://sentry.io/api/0
  auth:
    type: bearer

capabilities:
  - name: list_issues
    description: List issues (errors) in a project, optionally filtered by status
    method: GET
    path: /projects/{organization_slug}/{project_slug}/issues/
    permission: read
    inputs:
      organization_slug:
        type: string
        required: true
        description: The organization slug
        in: path
      project_slug:
        type: string
        required: true
        description: The project slug
        in: path
      query:
        type: string
        description: "Search query (e.g., 'is:unresolved assigned:me')"
        in: query

  - name: resolve_issue
    description: Mark an issue as resolved
    method: PUT
    path: /issues/{issue_id}/
    permission: write
    consent_required: true
    inputs:
      issue_id:
        type: string
        required: true
        description: The issue ID
        in: path
      status:
        type: enum
        required: true
        values: [resolved, unresolved, ignored]
        description: New status for the issue
    constraints:
      - max_per_hour: 100
        description: Bulk status changes are rate-limited

  - name: delete_issue
    description: Permanently delete an issue and all its events
    method: DELETE
    path: /issues/{issue_id}/
    permission: admin
    consent_required: true
    inputs:
      issue_id:
        type: string
        required: true
        description: The issue ID
        in: path
    constraints:
      - max_per_hour: 10
        description: Deletion is rate-limited

permissions:
  read:
    - list_issues
    - get_issue
    - list_projects
  write:
    - resolve_issue
    - assign_issue
  admin:
    - delete_issue

Stripe

Payment processing and billing infrastructure.

Capabilities: 6 (3 read, 2 write, 1 admin)

  • list_customers (read). List customers, filtered by email
  • get_customer (read). Retrieve a customer by ID
  • list_invoices (read). List invoices, filtered by customer or status
  • create_customer (write, consent). Create a new customer
  • create_payment_intent (write, consent). Charge a customer
  • refund_payment (admin, consent). Refund a payment

Repository: github.com/5h1vmani/usepaso/tree/main/examples/stripe


GitHub

Repository management and collaboration.

Capabilities: 6

  • list_repos (read)
  • get_repo (read)
  • list_issues (read)
  • create_issue (write, consent)
  • list_pull_requests (read)
  • create_release (admin, consent)

Repository: github.com/5h1vmani/usepaso/tree/main/examples/github


Slack

Team communication and messaging.

Capabilities: 6

  • list_channels (read)
  • get_messages (read)
  • list_members (read)
  • get_user_info (read)
  • send_message (write, consent)
  • create_channel (write, consent)

Repository: github.com/5h1vmani/usepaso/tree/main/examples/slack


Twilio

SMS and voice communications.

Capabilities: 6

  • list_messages (read)
  • get_message (read)
  • get_call (read)
  • send_sms (write, consent)
  • create_call (write, consent)
  • get_call_status (read)

Repository: github.com/5h1vmani/usepaso/tree/main/examples/twilio


Linear

Issue tracking and project management.

Capabilities: 6

  • list_issues (read)
  • get_issue (read)
  • list_projects (read)
  • create_issue (write, consent)
  • update_issue_status (write, consent)
  • add_comment (write, consent)

Repository: github.com/5h1vmani/usepaso/tree/main/examples/linear


Using Examples

1. Clone the Repository

git clone https://github.com/5h1vmani/usepaso.git
cd usepaso

2. Copy an Example

cp examples/sentry/usepaso.yaml ./usepaso.yaml

3. Validate

usepaso validate

4. Test

export USEPASO_AUTH_TOKEN=your-token-here
usepaso test list_issues --dry-run

5. Serve

usepaso serve

6. Connect

Add to Claude Desktop or Cursor following the Claude Desktop Setup or Cursor Setup guides.


Creating Your Own

Use examples as templates:

  1. Find an example closest to your API
  2. Copy usepaso.yaml to your project
  3. Modify the service metadata, paths, and parameters
  4. Run usepaso validate
  5. Test with usepaso test --dry-run
  6. Serve with usepaso serve

Or generate from an OpenAPI spec:

usepaso init --from-openapi ./openapi.json

Pick an example, make it yours.

Clone one, customize the YAML, and serve. Every example is production-ready.

Next, you might want to: