SimpleLegal · Capability

SimpleLegal Legal Operations Management

Unified legal operations management capability combining SimpleLegal's matter management, eBilling, vendor management, spend analytics, and user administration APIs into a single workflow. Designed for in-house legal operations teams, general counsel offices, and finance integrators building legal-to-finance data pipelines.

Run with Naftiko eBillingEnterprise Legal ManagementFinance IntegrationInvoicesLegal OperationsLegal Spend ManagementMatter ManagementVendors

What You Can Do

GET
List matters — List all legal matters with filtering and pagination
/v1/matters
POST
Create matter — Create a new legal matter
/v1/matters
GET
Get matter — Get a specific legal matter by ID
/v1/matters/{id}
PATCH
Update matter — Update matter fields (status, budget, counsel)
/v1/matters/{id}
GET
List invoices — List all invoices with filtering by status and matter
/v1/invoices
POST
Create invoice — Submit a new invoice for eBilling review
/v1/invoices
GET
Get invoice — Get a specific invoice by ID
/v1/invoices/{id}
PATCH
Update invoice — Update invoice status (approve, reject, hold)
/v1/invoices/{id}
GET
List vendors — List all outside counsel and legal service vendors
/v1/vendors
POST
Create vendor — Add a new outside counsel or vendor
/v1/vendors
GET
Get vendor — Get a specific vendor by ID
/v1/vendors/{id}
PATCH
Update vendor — Update vendor information or status
/v1/vendors/{id}
GET
List cost codes — List all configured billing and cost codes
/v1/cost-codes
GET
List users — List all platform users
/v1/users
POST
Create user — Create a new platform user
/v1/users
GET
List payments — List all recorded payments
/v1/payments
POST
Create payment — Record a payment for an approved invoice
/v1/payments

MCP Tools

list-matters

List all legal matters with optional filtering by status or practice area

read-only idempotent
create-matter

Create a new legal matter with name, practice area, budget, and counsel assignment

get-matter

Get detailed information about a specific legal matter by ID

read-only idempotent
update-matter

Update matter status, budget, or attorney assignments

idempotent
list-invoices

List legal invoices with filtering by status, matter, or vendor

read-only idempotent
create-invoice

Submit a new legal invoice for eBilling review and approval

get-invoice

Get details of a specific invoice including line items and approval status

read-only idempotent
approve-invoice

Approve an invoice and set the approved payment amount

idempotent
list-vendors

List all outside counsel and legal service vendors

read-only idempotent
create-vendor

Add a new outside counsel law firm or legal service provider

get-vendor

Get information about a specific vendor or outside counsel firm

read-only idempotent
list-cost-codes

List all billing and cost codes available for invoice categorization

read-only idempotent
list-users

List all SimpleLegal platform users

read-only idempotent
create-user

Create a new SimpleLegal platform user

list-payments

List all recorded invoice payments

read-only idempotent
record-payment

Record a payment for an approved invoice to track disbursements

APIs Used

simplelegal

Capability Spec

Raw ↑
naftiko: "1.0.0-alpha1"

info:
  label: "SimpleLegal Legal Operations Management"
  description: >-
    Unified legal operations management capability combining SimpleLegal's matter
    management, eBilling, vendor management, spend analytics, and user administration
    APIs into a single workflow. Designed for in-house legal operations teams,
    general counsel offices, and finance integrators building legal-to-finance data
    pipelines.
  tags:
    - eBilling
    - Enterprise Legal Management
    - Finance Integration
    - Invoices
    - Legal Operations
    - Legal Spend Management
    - Matter Management
    - Vendors
  created: "2026-05-02"
  modified: "2026-05-02"

binds:
  - namespace: env
    keys:
      SIMPLELEGAL_USERNAME: SIMPLELEGAL_USERNAME
      SIMPLELEGAL_PASSWORD: SIMPLELEGAL_PASSWORD

capability:
  consumes:
    - import: simplelegal
      location: ./shared/simplelegal.yaml

  exposes:
    - type: rest
      port: 8080
      namespace: simplelegal-legal-ops-api
      description: "Unified REST API for SimpleLegal legal operations management workflows."
      resources:
        - path: /v1/matters
          name: matters
          description: Legal matter lifecycle management
          operations:
            - method: GET
              name: list-matters
              description: List all legal matters with filtering and pagination
              call: "simplelegal.list-matters"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: create-matter
              description: Create a new legal matter
              call: "simplelegal.create-matter"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/matters/{id}
          name: matter
          description: Individual matter management
          operations:
            - method: GET
              name: get-matter
              description: Get a specific legal matter by ID
              call: "simplelegal.get-matter"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: PATCH
              name: update-matter
              description: Update matter fields (status, budget, counsel)
              call: "simplelegal.update-matter"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/invoices
          name: invoices
          description: Legal invoice eBilling and approval workflow
          operations:
            - method: GET
              name: list-invoices
              description: List all invoices with filtering by status and matter
              call: "simplelegal.list-invoices"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: create-invoice
              description: Submit a new invoice for eBilling review
              call: "simplelegal.create-invoice"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/invoices/{id}
          name: invoice
          description: Individual invoice management
          operations:
            - method: GET
              name: get-invoice
              description: Get a specific invoice by ID
              call: "simplelegal.get-invoice"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: PATCH
              name: update-invoice
              description: Update invoice status (approve, reject, hold)
              call: "simplelegal.update-invoice"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/vendors
          name: vendors
          description: Outside counsel and legal vendor management
          operations:
            - method: GET
              name: list-vendors
              description: List all outside counsel and legal service vendors
              call: "simplelegal.list-vendors"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: create-vendor
              description: Add a new outside counsel or vendor
              call: "simplelegal.create-vendor"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/vendors/{id}
          name: vendor
          description: Individual vendor management
          operations:
            - method: GET
              name: get-vendor
              description: Get a specific vendor by ID
              call: "simplelegal.get-vendor"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: PATCH
              name: update-vendor
              description: Update vendor information or status
              call: "simplelegal.update-vendor"
              with:
                id: "rest.id"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/cost-codes
          name: cost-codes
          description: Billing and cost code catalog
          operations:
            - method: GET
              name: list-cost-codes
              description: List all configured billing and cost codes
              call: "simplelegal.list-cost-codes"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/users
          name: users
          description: User account management
          operations:
            - method: GET
              name: list-users
              description: List all platform users
              call: "simplelegal.list-users"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: create-user
              description: Create a new platform user
              call: "simplelegal.create-user"
              outputParameters:
                - type: object
                  mapping: "$."

        - path: /v1/payments
          name: payments
          description: Invoice payment recording
          operations:
            - method: GET
              name: list-payments
              description: List all recorded payments
              call: "simplelegal.list-payments"
              outputParameters:
                - type: object
                  mapping: "$."
            - method: POST
              name: create-payment
              description: Record a payment for an approved invoice
              call: "simplelegal.create-payment"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      port: 9090
      namespace: simplelegal-legal-ops-mcp
      transport: http
      description: "MCP server for AI-assisted legal operations, matter tracking, invoice review, and spend analysis."
      tools:
        - name: list-matters
          description: List all legal matters with optional filtering by status or practice area
          hints:
            readOnly: true
            idempotent: true
          call: "simplelegal.list-matters"
          outputParameters:
            - type: object
              mapping: "$."

        - name: create-matter
          description: Create a new legal matter with name, practice area, budget, and counsel assignment
          hints:
            readOnly: false
            idempotent: false
          call: "simplelegal.create-matter"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-matter
          description: Get detailed information about a specific legal matter by ID
          hints:
            readOnly: true
            idempotent: true
          call: "simplelegal.get-matter"
          outputParameters:
            - type: object
              mapping: "$."

        - name: update-matter
          description: Update matter status, budget, or attorney assignments
          hints:
            readOnly: false
            idempotent: true
          call: "simplelegal.update-matter"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-invoices
          description: List legal invoices with filtering by status, matter, or vendor
          hints:
            readOnly: true
            idempotent: true
          call: "simplelegal.list-invoices"
          outputParameters:
            - type: object
              mapping: "$."

        - name: create-invoice
          description: Submit a new legal invoice for eBilling review and approval
          hints:
            readOnly: false
            idempotent: false
          call: "simplelegal.create-invoice"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-invoice
          description: Get details of a specific invoice including line items and approval status
          hints:
            readOnly: true
            idempotent: true
          call: "simplelegal.get-invoice"
          outputParameters:
            - type: object
              mapping: "$."

        - name: approve-invoice
          description: Approve an invoice and set the approved payment amount
          hints:
            readOnly: false
            idempotent: true
          call: "simplelegal.update-invoice"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-vendors
          description: List all outside counsel and legal service vendors
          hints:
            readOnly: true
            idempotent: true
          call: "simplelegal.list-vendors"
          outputParameters:
            - type: object
              mapping: "$."

        - name: create-vendor
          description: Add a new outside counsel law firm or legal service provider
          hints:
            readOnly: false
            idempotent: false
          call: "simplelegal.create-vendor"
          outputParameters:
            - type: object
              mapping: "$."

        - name: get-vendor
          description: Get information about a specific vendor or outside counsel firm
          hints:
            readOnly: true
            idempotent: true
          call: "simplelegal.get-vendor"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-cost-codes
          description: List all billing and cost codes available for invoice categorization
          hints:
            readOnly: true
            idempotent: true
          call: "simplelegal.list-cost-codes"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-users
          description: List all SimpleLegal platform users
          hints:
            readOnly: true
            idempotent: true
          call: "simplelegal.list-users"
          outputParameters:
            - type: object
              mapping: "$."

        - name: create-user
          description: Create a new SimpleLegal platform user
          hints:
            readOnly: false
            idempotent: false
          call: "simplelegal.create-user"
          outputParameters:
            - type: object
              mapping: "$."

        - name: list-payments
          description: List all recorded invoice payments
          hints:
            readOnly: true
            idempotent: true
          call: "simplelegal.list-payments"
          outputParameters:
            - type: object
              mapping: "$."

        - name: record-payment
          description: Record a payment for an approved invoice to track disbursements
          hints:
            readOnly: false
            idempotent: false
          call: "simplelegal.create-payment"
          outputParameters:
            - type: object
              mapping: "$."