Catalog PyPI
PACKAGE EXPLORERView in registry

a4e

PyPI

A comprehensive MCP server toolkit for building, managing, and running AI agents compatible with the A4E ecosystem.

a4eagentsaiclaudecursorllmmcpmodel-context-protocolsimetrik
Versions collected1
Direct dependencies10From release 0.1.9
Last observed20 Oct, 16:42 UTC

README

Version 0.1.9 documentation

A4E

PyPI version Python 3.10+ License: MIT

A4E is a CLI toolkit for building conversational AI agents. It includes:

  • CLI commands for creating and managing agents (a4e init, a4e add tool, etc.)
  • MCP server for IDE integration (Cursor, Claude Code, Antigravity)
  • Dev server with hot-reload and ngrok tunneling

Requirements

Python 3.10+

# Check your version
python --version

# Install Python 3.10+ if needed
# macOS (with Homebrew)
brew install python@3.10

# Ubuntu/Debian
sudo apt update && sudo apt install python3.10

# Windows (download from python.org)
# https://www.python.org/downloads/

Note: If you try to install with an older Python version, pip will show: ERROR: Package 'a4e' requires a different Python: X.Y.Z not in '>=3.10'

ngrok (for dev server)

The development server uses ngrok to create public tunnels for testing.

  1. Create account: https://ngrok.com/signup
  2. Get your authtoken: https://dashboard.ngrok.com/get-started/your-authtoken
  3. Configure ngrok:
# Option A: Install ngrok CLI and configure
brew install ngrok/ngrok/ngrok   # macOS
# or download from https://ngrok.com/download

ngrok config add-authtoken YOUR_TOKEN_HERE

# Option B: Set environment variable
export NGROK_AUTHTOKEN=YOUR_TOKEN_HERE

Installation

pip install a4e

Verify installation:

a4e --version

Quick Start

Option 1: Use with AI Assistant (MCP)

Configure A4E for your IDE:

# For Cursor
a4e mcp setup cursor

# For Claude Code
a4e mcp setup claude-code

# For Antigravity
a4e mcp setup antigravity

Restart your IDE, then ask your AI assistant:

"Create an agent called nutrition-coach that helps users track meals and calculate calories"

Option 2: Use CLI directly

# Create a new agent
a4e init

# Add components
a4e add tool calculate_bmi
a4e add view bmi_result
a4e add skill show_bmi

# Validate
a4e validate

# Start dev server
a4e dev start

# Deploy
a4e deploy

CLI Commands

CommandArgumentsDescription
a4e init--name, --templateInitialize new agent (interactive wizard)
a4e add tool<name> stringAdd a Python tool
a4e add view<name> stringAdd a React view
a4e add skill<name> stringAdd a skill (connects tools → views)
a4e listtools | views | skills | allList components
a4e remove tool<name> stringRemove a tool
a4e remove view<name> stringRemove a view
a4e remove skill<name> stringRemove a skill
a4e update tool<name> stringUpdate a tool
a4e update view<name> stringUpdate a view
a4e update skill<name> stringUpdate a skill
a4e validate--strict, --agentValidate agent structure
a4e deploy--skip-validationDeploy to A4E Cloud
a4e dev start--port int, --auth-token stringStart dev server with ngrok
a4e info--jsonShow agent information

Init Options

OptionTypeValuesDescription
--name, -nstringmy-agentAgent ID (lowercase, hyphens)
--display-name, -dstring"My Agent"Human-readable name
--descriptionstring"Agent description"Short description
--category, -cenumConcierge, E-commerce, Fitness & Health, Education, Entertainment, Productivity, Finance, Customer Support, GeneralAgent category
--template, -tenumbasic, with-tools, with-views, fullProject template
--yes, -yflag—Skip interactive prompts

MCP Commands

CommandArgumentsValuesDescription
a4e mcp setup<ide>cursor, claude-code, antigravityConfigure MCP for IDE
a4e mcp show<ide>cursor, claude-code, antigravityShow current config
a4e mcp remove<ide>cursor, claude-code, antigravityRemove A4E from config
a4e mcp test——Test MCP server
a4e mcp path<ide>cursor, claude-code, antigravityShow config file path
a4e mcp list——List supported IDEs

MCP Setup Options

OptionTypeDescription
--dry-run, -nflagPreview changes without applying
--force, -fflagOverwrite existing A4E config

Agent Structure

When you create an agent, A4E generates:

my-agent/
├── agent.py           # Agent configuration
├── metadata.json      # Agent metadata
├── AGENTS.md          # Documentation for AI assistants
├── prompts/
│   └── agent.md       # System prompt / personality
├── tools/
│   ├── my_tool.py     # Python functions
│   └── schemas.json   # Auto-generated schemas
├── views/
│   ├── my_view/
│   │   └── view.tsx   # React components
│   └── schemas.json   # Auto-generated schemas
└── skills/
    ├── my_skill/
    │   └── SKILL.md   # Skill documentation
    └── schemas.json   # Auto-generated schemas

Concepts

Tools

Python functions that give your agent capabilities:

from typing import Dict, Any

def calculate_bmi(params: Dict[str, Any]) -> Dict[str, Any]:
    """Calculate BMI from height and weight."""
    height = params.get("height_m")
    weight = params.get("weight_kg")
    bmi = weight / (height ** 2)
    return {"bmi": round(bmi, 1), "status": "success"}

Views

React components for rich UI responses:

interface BMIResultProps {
  bmi: number;
  category: string;
}

export default function BMIResult({ bmi, category }: BMIResultProps) {
  return (
    <div className="p-4">
      <h2>Your BMI: {bmi}</h2>
      <p>Category: {category}</p>
    </div>
  );
}

Skills

Connect user intents to tools and views:

{
  "id": "show_bmi",
  "name": "Calculate BMI",
  "intent_triggers": ["calculate my bmi", "what's my bmi"],
  "internal_tools": ["calculate_bmi"],
  "output": {
    "view": "bmi_result"
  }
}

MCP Configuration

a4e mcp setup cursor

This:

  1. Creates a backup of your existing config
  2. Adds A4E to your MCP servers
  3. Uses the correct Python path automatically

Manual Setup

Cursor (~/.cursor/mcp.json)
{
  "mcpServers": {
    "a4e": {
      "command": "/path/to/python",
      "args": ["-m", "a4e.server"],
      "env": {
        "A4E_WORKSPACE": "${workspaceFolder}"
      }
    }
  }
}

Find your Python path with: which python or a4e mcp test

Claude Code (~/.claude.json)
{
  "mcpServers": {
    "a4e": {
      "command": "/path/to/python",
      "args": ["-m", "a4e.server"]
    }
  }
}
Antigravity (~/.gemini/antigravity/mcp_config.json)
{
  "mcpServers": {
    "a4e": {
      "command": "/path/to/python",
      "args": ["-m", "a4e.server"]
    }
  }
}

Troubleshooting

"a4e: command not found"

Ensure pip scripts are in your PATH:

# Find where pip installs scripts
python -m site --user-base

# Add to PATH (add to ~/.bashrc or ~/.zshrc)
export PATH="$HOME/.local/bin:$PATH"

# Or install with pipx for automatic PATH management
pipx install a4e

MCP not connecting in IDE

# 1. Test the MCP server
a4e mcp test

# 2. Check your config
a4e mcp show cursor

# 3. Verify Python path is correct
which python

# 4. Restart your IDE after config changes

ngrok errors in dev server

# Check if ngrok is configured
ngrok config check

# Add your authtoken
ngrok config add-authtoken YOUR_TOKEN

# Or pass it directly
a4e dev start --auth-token YOUR_TOKEN

Port 5000 already in use

# Find what's using the port
lsof -i :5000

# Kill it
kill -9 <PID>

# Or use a different port
a4e dev start --port 5001

MCP config backup

When running a4e mcp setup, a backup is automatically created at:

  • Cursor: ~/.cursor/mcp.json.backup
  • Claude Code: ~/.claude.json.backup
  • Antigravity: ~/.gemini/antigravity/mcp_config.json.backup

To restore:

cp ~/.cursor/mcp.json.backup ~/.cursor/mcp.json

Documentation

License

MIT License - see LICENSE for details.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.1.923 Jan 202610

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Repository

PENDING
simetrik-inc-public/a4e-mcp-server

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 16:42 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:b9451bb7ca84bcacb783933217778d196892f5ce363d3d3c2ce4a7efb96d162f