Skip to main content

MCP server and CLI for API management, security scanning, and Playwright test generation — powered by Claude

Project description

Maeris

Test, scan, and manage your APIs — right from your terminal or AI editor.

PyPI Python License

Maeris connects your codebase to the Maeris Portal, giving you the tools to generate UI tests, extract API definitions, run security scans, and manage everything through a simple CLI or your AI assistant.


Highlights

Generate UI Tests

Scans your frontend code and produces ready-to-run Playwright tests — grounded in your actual source, not guesswork.

Extract APIs

Finds API endpoints across your codebase and catalogs them into organized collections.

Security Scanning

Checks your code against OWASP Top 10 vulnerabilities with AI-guided static analysis.

API Management

Create, organize, and run APIs with collections, environments, and multi-step flows.

Test Management

Run tests, auto-fix broken selectors, track coverage, and export reports.

Portal Sync

Push everything to Maeris Portal so your whole team stays in the loop.


Installation

pip install maeris

Requirements: Python 3.10+ and Claude Code for AI-powered features.


Quick Start

# 1. Set up Maeris in your project
cd your-project
maeris app init

# 2. Restart your editor to pick up the MCP config

# 3. (Optional) Sign in for portal features
maeris auth login

That's it. Now you can use Maeris from the CLI or just ask your AI assistant:

From the CLI From your AI assistant
maeris scan security
maeris scan api
maeris test generate
maeris test run

"Scan this repo for security issues"

"Extract all API endpoints from my codebase"

"Generate UI tests for the login flow"


CLI Reference

Setup & Authentication
Command What it does
maeris app init Set up Maeris for this project
maeris auth login Sign in to Maeris Portal
maeris auth logout Sign out
maeris auth status Check who you're logged in as
maeris doctor Diagnose setup issues
Test Generation & Management
Command What it does
maeris test generate Generate Playwright tests from your source code
maeris test run Run tests (filter with --name, --folder, --smoke, --regression)
maeris test list List all test cases
maeris test import <file> Import existing Playwright/Cypress/Selenium tests
maeris test fix Auto-fix broken test selectors using AI
maeris test recalibrate Regenerate tests after UI changes
maeris test delete Delete test cases

Test Folders

Command What it does
maeris folder create --name "Login Tests" Create a folder to organize tests
maeris folder list List all test folders
maeris folder delete Delete a folder
Scanning
Command What it does
maeris scan security Run a security scan (OWASP Top 10)
maeris scan api Extract API definitions from source code
maeris scan push Push scan results to the portal

Use --quick for a fast scan or --deep for thorough analysis.

API Management
Command What it does
maeris api list List all APIs
maeris api get <name> View API details
maeris api create --name N --method GET --url /path Create an API
maeris api bulk Create multiple APIs at once
maeris api update <name> Update an API
maeris api delete <name> Delete an API
maeris api move <name> --to-collection C Move to a collection
maeris api clone <name> Duplicate an API
maeris api import Import from Postman
maeris api param add <api> Add headers or query params
Collections
Command What it does
maeris collection list List all collections
maeris collection create --name "Auth APIs" Create a collection
maeris collection get <name> View collection details
maeris collection clone <name> Deep-copy a collection
maeris collection rename <name> Rename a collection
maeris collection delete <name> Delete a collection
Environments
Command What it does
maeris env list List all environments
maeris env create --name "Staging" Create an environment
maeris env rename <name> Rename an environment
maeris env delete <name> Delete an environment
maeris env data list <env> View environment variables
maeris env data add <env> Add variables to an environment
maeris env data update <env> Update a variable
API Flows
Command What it does
maeris flow list List all flows
maeris flow create --name "Checkout" Create a flow
maeris flow run <name> Execute a flow end-to-end
maeris flow map set <flow> Define the step sequence
maeris flow param add <flow> Add parameter mappings between steps
Assertions
Command What it does
maeris assertion list List all assertions
maeris assertion create --api A --nature N --type T --value V Create an assertion
maeris assertion update Update an assertion
maeris assertion delete Delete an assertion
Coverage & Reports
Command What it does
maeris coverage ui View UI test coverage by feature area
maeris coverage api View API test coverage
maeris report tests Export a test report (HTML, JSON, or CSV)
maeris report coverage Export a coverage report
maeris report security Export a security scan report
Repair & Maintenance
Command What it does
maeris repair ui Fix broken CSS selectors in tests
maeris repair api Reconcile stale API references
maeris repair flow Repair flow parameter mappings
maeris repair contract Validate API contracts
maeris baseline generate Build a full baseline test suite
Push to Portal
Command What it does
maeris push tests --folder "Smoke" Push generated tests to Maeris Portal
Configuration & Other
Command What it does
maeris listen Listen for commands from the Maeris web UI
maeris config set <key> <value> Set a CLI config value
maeris config get <key> Read a config value
maeris config completions Output shell completions (bash/zsh)
maeris welcome Show the onboarding screen

Linking Additional Repos

If your tests need context from another repository (e.g., a shared component library):

maeris app link ../my-frontend-repo     # Add context source
maeris app links                         # See all linked repos
maeris app unlink ../my-frontend-repo   # Remove a link

Troubleshooting

maeris doctor

Checks your Python version, CLI installation, editor config, credentials, and backend connectivity — and tells you exactly what to fix.


How It Works

Maeris runs as an MCP server alongside your AI editor. When you ask your assistant to scan code or generate tests, it calls Maeris tools under the hood.

┌──────────┐     ┌─────────────┐     ┌──────────────────┐     ┌────────────────┐
│ Your Code │────▶│ Claude Code │────▶│ Maeris MCP Server│────▶│ Maeris Portal  │
│          │◀────│             │◀────│  (runs locally)  │◀────│(cloud dashboard)│
└──────────┘     └─────────────┘     └──────────────────┘     └────────────────┘

All scanning and test generation happens on your machine. Only results you explicitly push leave your local environment.


Portal  ·  Discord  ·  Support

MIT License

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

maeris-0.9.0b5.tar.gz (709.7 kB view details)

Uploaded Source

Built Distribution

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

maeris-0.9.0b5-py3-none-any.whl (700.0 kB view details)

Uploaded Python 3

File details

Details for the file maeris-0.9.0b5.tar.gz.

File metadata

  • Download URL: maeris-0.9.0b5.tar.gz
  • Upload date:
  • Size: 709.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for maeris-0.9.0b5.tar.gz
Algorithm Hash digest
SHA256 992f309694ab9c235a953fc940b7ddea1dda20f0bdcaf743f889cf2944e9979b
MD5 4993beabf6b216308c192660cd19b6cd
BLAKE2b-256 3bcf3ee1805953c7773429a584ea8d199d66143902321d34f87c5341a7a3422d

See more details on using hashes here.

File details

Details for the file maeris-0.9.0b5-py3-none-any.whl.

File metadata

  • Download URL: maeris-0.9.0b5-py3-none-any.whl
  • Upload date:
  • Size: 700.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.11

File hashes

Hashes for maeris-0.9.0b5-py3-none-any.whl
Algorithm Hash digest
SHA256 49e1e852d6512af37ec8dd89790677f90d9bb3c707361499a76ad865738f1291
MD5 1ed5e48017278b7529a01758987cb11d
BLAKE2b-256 0aa8e69608d95c14d673e7790ce1fbb3f3e42c185cc9be6e293f8fe0d3066e98

See more details on using hashes here.

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