a4e 0.1.7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- a4e-0.1.7/LICENSE +21 -0
- a4e-0.1.7/PKG-INFO +427 -0
- a4e-0.1.7/README.md +390 -0
- a4e-0.1.7/a4e/__init__.py +0 -0
- a4e-0.1.7/a4e/cli.py +47 -0
- a4e-0.1.7/a4e/cli_commands/__init__.py +5 -0
- a4e-0.1.7/a4e/cli_commands/add.py +372 -0
- a4e-0.1.7/a4e/cli_commands/deploy.py +146 -0
- a4e-0.1.7/a4e/cli_commands/dev.py +157 -0
- a4e-0.1.7/a4e/cli_commands/info.py +203 -0
- a4e-0.1.7/a4e/cli_commands/init.py +211 -0
- a4e-0.1.7/a4e/cli_commands/list.py +224 -0
- a4e-0.1.7/a4e/cli_commands/mcp.py +504 -0
- a4e-0.1.7/a4e/cli_commands/remove.py +194 -0
- a4e-0.1.7/a4e/cli_commands/update.py +282 -0
- a4e-0.1.7/a4e/cli_commands/validate.py +114 -0
- a4e-0.1.7/a4e/core.py +109 -0
- a4e-0.1.7/a4e/dev_runner.py +425 -0
- a4e-0.1.7/a4e/server.py +86 -0
- a4e-0.1.7/a4e/templates/agent.md.j2 +168 -0
- a4e-0.1.7/a4e/templates/agent.py.j2 +15 -0
- a4e-0.1.7/a4e/templates/agents.md.j2 +99 -0
- a4e-0.1.7/a4e/templates/metadata.json.j2 +20 -0
- a4e-0.1.7/a4e/templates/prompt.md.j2 +20 -0
- a4e-0.1.7/a4e/templates/prompts/agent.md.j2 +206 -0
- a4e-0.1.7/a4e/templates/skills/agents.md.j2 +110 -0
- a4e-0.1.7/a4e/templates/skills/skill.md.j2 +120 -0
- a4e-0.1.7/a4e/templates/support_module.py.j2 +84 -0
- a4e-0.1.7/a4e/templates/tool.py.j2 +60 -0
- a4e-0.1.7/a4e/templates/tools/agent.md.j2 +192 -0
- a4e-0.1.7/a4e/templates/view.tsx.j2 +67 -0
- a4e-0.1.7/a4e/templates/views/agent.md.j2 +219 -0
- a4e-0.1.7/a4e/tools/__init__.py +70 -0
- a4e-0.1.7/a4e/tools/agent_tools/__init__.py +12 -0
- a4e-0.1.7/a4e/tools/agent_tools/add_support_module.py +95 -0
- a4e-0.1.7/a4e/tools/agent_tools/add_tool.py +115 -0
- a4e-0.1.7/a4e/tools/agent_tools/list_tools.py +28 -0
- a4e-0.1.7/a4e/tools/agent_tools/remove_tool.py +69 -0
- a4e-0.1.7/a4e/tools/agent_tools/update_tool.py +123 -0
- a4e-0.1.7/a4e/tools/deploy/__init__.py +8 -0
- a4e-0.1.7/a4e/tools/deploy/deploy.py +59 -0
- a4e-0.1.7/a4e/tools/dev/__init__.py +10 -0
- a4e-0.1.7/a4e/tools/dev/check_environment.py +91 -0
- a4e-0.1.7/a4e/tools/dev/dev_start.py +30 -0
- a4e-0.1.7/a4e/tools/dev/dev_stop.py +26 -0
- a4e-0.1.7/a4e/tools/project/__init__.py +10 -0
- a4e-0.1.7/a4e/tools/project/get_agent_info.py +66 -0
- a4e-0.1.7/a4e/tools/project/get_instructions.py +216 -0
- a4e-0.1.7/a4e/tools/project/initialize_project.py +246 -0
- a4e-0.1.7/a4e/tools/schemas/__init__.py +8 -0
- a4e-0.1.7/a4e/tools/schemas/generate_schemas.py +286 -0
- a4e-0.1.7/a4e/tools/skills/__init__.py +12 -0
- a4e-0.1.7/a4e/tools/skills/add_skill.py +105 -0
- a4e-0.1.7/a4e/tools/skills/helpers.py +137 -0
- a4e-0.1.7/a4e/tools/skills/list_skills.py +54 -0
- a4e-0.1.7/a4e/tools/skills/remove_skill.py +74 -0
- a4e-0.1.7/a4e/tools/skills/update_skill.py +150 -0
- a4e-0.1.7/a4e/tools/validation/__init__.py +8 -0
- a4e-0.1.7/a4e/tools/validation/validate.py +389 -0
- a4e-0.1.7/a4e/tools/views/__init__.py +12 -0
- a4e-0.1.7/a4e/tools/views/add_view.py +40 -0
- a4e-0.1.7/a4e/tools/views/helpers.py +94 -0
- a4e-0.1.7/a4e/tools/views/list_views.py +27 -0
- a4e-0.1.7/a4e/tools/views/remove_view.py +73 -0
- a4e-0.1.7/a4e/tools/views/update_view.py +124 -0
- a4e-0.1.7/a4e/utils/dev_manager.py +289 -0
- a4e-0.1.7/a4e/utils/schema_generator.py +255 -0
- a4e-0.1.7/a4e.egg-info/PKG-INFO +427 -0
- a4e-0.1.7/a4e.egg-info/SOURCES.txt +73 -0
- a4e-0.1.7/a4e.egg-info/dependency_links.txt +1 -0
- a4e-0.1.7/a4e.egg-info/entry_points.txt +2 -0
- a4e-0.1.7/a4e.egg-info/requires.txt +10 -0
- a4e-0.1.7/a4e.egg-info/top_level.txt +1 -0
- a4e-0.1.7/pyproject.toml +70 -0
- a4e-0.1.7/setup.cfg +4 -0
a4e-0.1.7/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 A4E Team
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
a4e-0.1.7/PKG-INFO
ADDED
|
@@ -0,0 +1,427 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: a4e
|
|
3
|
+
Version: 0.1.7
|
|
4
|
+
Summary: A comprehensive MCP server toolkit for building, managing, and running AI agents compatible with the A4E ecosystem.
|
|
5
|
+
Author-email: Angel Castiblanco <angel.castiblanco@simetrik.com>, Michael Guerrero <michael.guerrero@simetrik.com>, Jonathan Batista <jonathan.batista@simetrik.com>
|
|
6
|
+
Maintainer-email: Simetrik <angel.castiblanco@simetrik.com>
|
|
7
|
+
License-Expression: MIT
|
|
8
|
+
Project-URL: Homepage, https://github.com/simetrik-inc-public/a4e-mcp-server
|
|
9
|
+
Project-URL: Documentation, https://github.com/simetrik-inc-public/a4e-mcp-server#readme
|
|
10
|
+
Project-URL: Repository, https://github.com/simetrik-inc-public/a4e-mcp-server
|
|
11
|
+
Project-URL: Issues, https://github.com/simetrik-inc-public/a4e-mcp-server/issues
|
|
12
|
+
Keywords: mcp,ai,agents,llm,model-context-protocol,a4e,cursor,claude,simetrik
|
|
13
|
+
Classifier: Development Status :: 4 - Beta
|
|
14
|
+
Classifier: Intended Audience :: Developers
|
|
15
|
+
Classifier: Operating System :: OS Independent
|
|
16
|
+
Classifier: Programming Language :: Python :: 3
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
21
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
22
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
23
|
+
Requires-Python: >=3.10
|
|
24
|
+
Description-Content-Type: text/markdown
|
|
25
|
+
License-File: LICENSE
|
|
26
|
+
Requires-Dist: jinja2>=3.1.6
|
|
27
|
+
Requires-Dist: mcp[cli]>=1.22.0
|
|
28
|
+
Requires-Dist: pydantic>=2.12.4
|
|
29
|
+
Requires-Dist: pyngrok>=7.5.0
|
|
30
|
+
Requires-Dist: pyperclip>=1.11.0
|
|
31
|
+
Requires-Dist: pyyaml>=6.0.3
|
|
32
|
+
Requires-Dist: rich>=13.0.0
|
|
33
|
+
Requires-Dist: sse-starlette>=3.0.3
|
|
34
|
+
Requires-Dist: typer>=0.20.0
|
|
35
|
+
Requires-Dist: watchdog>=6.0.0
|
|
36
|
+
Dynamic: license-file
|
|
37
|
+
|
|
38
|
+
# A4E
|
|
39
|
+
|
|
40
|
+
[](https://badge.fury.io/py/a4e)
|
|
41
|
+
[](https://www.python.org/downloads/)
|
|
42
|
+
[](https://opensource.org/licenses/MIT)
|
|
43
|
+
|
|
44
|
+
**A4E** is a CLI toolkit for building conversational AI agents. It includes:
|
|
45
|
+
|
|
46
|
+
- **CLI commands** for creating and managing agents (`a4e init`, `a4e add tool`, etc.)
|
|
47
|
+
- **MCP server** for IDE integration (Cursor, Claude Code, Antigravity)
|
|
48
|
+
- **Dev server** with hot-reload and ngrok tunneling
|
|
49
|
+
|
|
50
|
+
## Requirements
|
|
51
|
+
|
|
52
|
+
### Python 3.10+
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
# Check your version
|
|
56
|
+
python --version
|
|
57
|
+
|
|
58
|
+
# Install Python 3.10+ if needed
|
|
59
|
+
# macOS (with Homebrew)
|
|
60
|
+
brew install python@3.10
|
|
61
|
+
|
|
62
|
+
# Ubuntu/Debian
|
|
63
|
+
sudo apt update && sudo apt install python3.10
|
|
64
|
+
|
|
65
|
+
# Windows (download from python.org)
|
|
66
|
+
# https://www.python.org/downloads/
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
> **Note:** If you try to install with an older Python version, pip will show:
|
|
70
|
+
> `ERROR: Package 'a4e' requires a different Python: X.Y.Z not in '>=3.10'`
|
|
71
|
+
|
|
72
|
+
### ngrok (for dev server)
|
|
73
|
+
|
|
74
|
+
The development server uses ngrok to create public tunnels for testing.
|
|
75
|
+
|
|
76
|
+
1. **Create account:** https://ngrok.com/signup
|
|
77
|
+
2. **Get your authtoken:** https://dashboard.ngrok.com/get-started/your-authtoken
|
|
78
|
+
3. **Configure ngrok:**
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
# Option A: Install ngrok CLI and configure
|
|
82
|
+
brew install ngrok/ngrok/ngrok # macOS
|
|
83
|
+
# or download from https://ngrok.com/download
|
|
84
|
+
|
|
85
|
+
ngrok config add-authtoken YOUR_TOKEN_HERE
|
|
86
|
+
|
|
87
|
+
# Option B: Set environment variable
|
|
88
|
+
export NGROK_AUTHTOKEN=YOUR_TOKEN_HERE
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Installation
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
pip install a4e
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Verify installation:
|
|
98
|
+
|
|
99
|
+
```bash
|
|
100
|
+
a4e --version
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## Quick Start
|
|
104
|
+
|
|
105
|
+
### Option 1: Use with AI Assistant (MCP)
|
|
106
|
+
|
|
107
|
+
Configure A4E for your IDE:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
# For Cursor
|
|
111
|
+
a4e mcp setup cursor
|
|
112
|
+
|
|
113
|
+
# For Claude Code
|
|
114
|
+
a4e mcp setup claude-code
|
|
115
|
+
|
|
116
|
+
# For Antigravity
|
|
117
|
+
a4e mcp setup antigravity
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
**Restart your IDE**, then ask your AI assistant:
|
|
121
|
+
|
|
122
|
+
> "Create an agent called nutrition-coach that helps users track meals and calculate calories"
|
|
123
|
+
|
|
124
|
+
### Option 2: Use CLI directly
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
# Create a new agent
|
|
128
|
+
a4e init
|
|
129
|
+
|
|
130
|
+
# Add components
|
|
131
|
+
a4e add tool calculate_bmi
|
|
132
|
+
a4e add view bmi_result
|
|
133
|
+
a4e add skill show_bmi
|
|
134
|
+
|
|
135
|
+
# Validate
|
|
136
|
+
a4e validate
|
|
137
|
+
|
|
138
|
+
# Start dev server
|
|
139
|
+
a4e dev start
|
|
140
|
+
|
|
141
|
+
# Deploy
|
|
142
|
+
a4e deploy
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## CLI Commands
|
|
146
|
+
|
|
147
|
+
| Command | Arguments | Description |
|
|
148
|
+
| ------------------ | --------------------------------------- | ----------------------------------------- |
|
|
149
|
+
| `a4e init` | `--name`, `--template` | Initialize new agent (interactive wizard) |
|
|
150
|
+
| `a4e add tool` | `<name>` `string` | Add a Python tool |
|
|
151
|
+
| `a4e add view` | `<name>` `string` | Add a React view |
|
|
152
|
+
| `a4e add skill` | `<name>` `string` | Add a skill (connects tools → views) |
|
|
153
|
+
| `a4e list` | `tools` \| `views` \| `skills` \| `all` | List components |
|
|
154
|
+
| `a4e remove tool` | `<name>` `string` | Remove a tool |
|
|
155
|
+
| `a4e remove view` | `<name>` `string` | Remove a view |
|
|
156
|
+
| `a4e remove skill` | `<name>` `string` | Remove a skill |
|
|
157
|
+
| `a4e update tool` | `<name>` `string` | Update a tool |
|
|
158
|
+
| `a4e update view` | `<name>` `string` | Update a view |
|
|
159
|
+
| `a4e update skill` | `<name>` `string` | Update a skill |
|
|
160
|
+
| `a4e validate` | `--strict`, `--agent` | Validate agent structure |
|
|
161
|
+
| `a4e deploy` | `--skip-validation` | Deploy to A4E Cloud |
|
|
162
|
+
| `a4e dev start` | `--port` `int`, `--auth-token` `string` | Start dev server with ngrok |
|
|
163
|
+
| `a4e info` | `--json` | Show agent information |
|
|
164
|
+
|
|
165
|
+
### Init Options
|
|
166
|
+
|
|
167
|
+
| Option | Type | Values | Description |
|
|
168
|
+
| ---------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- |
|
|
169
|
+
| `--name`, `-n` | `string` | `my-agent` | Agent ID (lowercase, hyphens) |
|
|
170
|
+
| `--display-name`, `-d` | `string` | `"My Agent"` | Human-readable name |
|
|
171
|
+
| `--description` | `string` | `"Agent description"` | Short description |
|
|
172
|
+
| `--category`, `-c` | `enum` | `Concierge`, `E-commerce`, `Fitness & Health`, `Education`, `Entertainment`, `Productivity`, `Finance`, `Customer Support`, `General` | Agent category |
|
|
173
|
+
| `--template`, `-t` | `enum` | `basic`, `with-tools`, `with-views`, `full` | Project template |
|
|
174
|
+
| `--yes`, `-y` | `flag` | — | Skip interactive prompts |
|
|
175
|
+
|
|
176
|
+
### MCP Commands
|
|
177
|
+
|
|
178
|
+
| Command | Arguments | Values | Description |
|
|
179
|
+
| ---------------- | --------- | --------------------------------------- | ---------------------- |
|
|
180
|
+
| `a4e mcp setup` | `<ide>` | `cursor`, `claude-code`, `antigravity` | Configure MCP for IDE |
|
|
181
|
+
| `a4e mcp show` | `<ide>` | `cursor`, `claude-code`, `antigravity` | Show current config |
|
|
182
|
+
| `a4e mcp remove` | `<ide>` | `cursor`, `claude-code`, `antigravity` | Remove A4E from config |
|
|
183
|
+
| `a4e mcp test` | — | — | Test MCP server |
|
|
184
|
+
| `a4e mcp path` | `<ide>` | `cursor`, `claude-code`, `antigravity` | Show config file path |
|
|
185
|
+
| `a4e mcp list` | — | — | List supported IDEs |
|
|
186
|
+
|
|
187
|
+
### MCP Setup Options
|
|
188
|
+
|
|
189
|
+
| Option | Type | Description |
|
|
190
|
+
| ----------------- | ------ | -------------------------------- |
|
|
191
|
+
| `--dry-run`, `-n` | `flag` | Preview changes without applying |
|
|
192
|
+
| `--force`, `-f` | `flag` | Overwrite existing A4E config |
|
|
193
|
+
|
|
194
|
+
## Agent Structure
|
|
195
|
+
|
|
196
|
+
When you create an agent, A4E generates:
|
|
197
|
+
|
|
198
|
+
```
|
|
199
|
+
my-agent/
|
|
200
|
+
├── agent.py # Agent configuration
|
|
201
|
+
├── metadata.json # Agent metadata
|
|
202
|
+
├── AGENTS.md # Documentation for AI assistants
|
|
203
|
+
├── prompts/
|
|
204
|
+
│ └── agent.md # System prompt / personality
|
|
205
|
+
├── tools/
|
|
206
|
+
│ ├── my_tool.py # Python functions
|
|
207
|
+
│ └── schemas.json # Auto-generated schemas
|
|
208
|
+
├── views/
|
|
209
|
+
│ ├── my_view/
|
|
210
|
+
│ │ └── view.tsx # React components
|
|
211
|
+
│ └── schemas.json # Auto-generated schemas
|
|
212
|
+
└── skills/
|
|
213
|
+
├── my_skill/
|
|
214
|
+
│ └── SKILL.md # Skill documentation
|
|
215
|
+
└── schemas.json # Auto-generated schemas
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
## Concepts
|
|
219
|
+
|
|
220
|
+
### Tools
|
|
221
|
+
|
|
222
|
+
Python functions that give your agent capabilities:
|
|
223
|
+
|
|
224
|
+
```python
|
|
225
|
+
from typing import Dict, Any
|
|
226
|
+
|
|
227
|
+
def calculate_bmi(params: Dict[str, Any]) -> Dict[str, Any]:
|
|
228
|
+
"""Calculate BMI from height and weight."""
|
|
229
|
+
height = params.get("height_m")
|
|
230
|
+
weight = params.get("weight_kg")
|
|
231
|
+
bmi = weight / (height ** 2)
|
|
232
|
+
return {"bmi": round(bmi, 1), "status": "success"}
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### Views
|
|
236
|
+
|
|
237
|
+
React components for rich UI responses:
|
|
238
|
+
|
|
239
|
+
```tsx
|
|
240
|
+
interface BMIResultProps {
|
|
241
|
+
bmi: number;
|
|
242
|
+
category: string;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
export default function BMIResult({ bmi, category }: BMIResultProps) {
|
|
246
|
+
return (
|
|
247
|
+
<div className="p-4">
|
|
248
|
+
<h2>Your BMI: {bmi}</h2>
|
|
249
|
+
<p>Category: {category}</p>
|
|
250
|
+
</div>
|
|
251
|
+
);
|
|
252
|
+
}
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
### Skills
|
|
256
|
+
|
|
257
|
+
Connect user intents to tools and views:
|
|
258
|
+
|
|
259
|
+
```json
|
|
260
|
+
{
|
|
261
|
+
"id": "show_bmi",
|
|
262
|
+
"name": "Calculate BMI",
|
|
263
|
+
"intent_triggers": ["calculate my bmi", "what's my bmi"],
|
|
264
|
+
"internal_tools": ["calculate_bmi"],
|
|
265
|
+
"output": {
|
|
266
|
+
"view": "bmi_result"
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
## MCP Configuration
|
|
272
|
+
|
|
273
|
+
### Automatic Setup (Recommended)
|
|
274
|
+
|
|
275
|
+
```bash
|
|
276
|
+
a4e mcp setup cursor
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
This:
|
|
280
|
+
|
|
281
|
+
1. Creates a backup of your existing config
|
|
282
|
+
2. Adds A4E to your MCP servers
|
|
283
|
+
3. Uses the correct Python path automatically
|
|
284
|
+
|
|
285
|
+
### Manual Setup
|
|
286
|
+
|
|
287
|
+
<details>
|
|
288
|
+
<summary>Cursor (~/.cursor/mcp.json)</summary>
|
|
289
|
+
|
|
290
|
+
```json
|
|
291
|
+
{
|
|
292
|
+
"mcpServers": {
|
|
293
|
+
"a4e": {
|
|
294
|
+
"command": "/path/to/python",
|
|
295
|
+
"args": ["-m", "a4e.server"],
|
|
296
|
+
"env": {
|
|
297
|
+
"A4E_WORKSPACE": "${workspaceFolder}"
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
Find your Python path with: `which python` or `a4e mcp test`
|
|
305
|
+
|
|
306
|
+
</details>
|
|
307
|
+
|
|
308
|
+
<details>
|
|
309
|
+
<summary>Claude Code (~/.claude.json)</summary>
|
|
310
|
+
|
|
311
|
+
```json
|
|
312
|
+
{
|
|
313
|
+
"mcpServers": {
|
|
314
|
+
"a4e": {
|
|
315
|
+
"command": "/path/to/python",
|
|
316
|
+
"args": ["-m", "a4e.server"]
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
```
|
|
321
|
+
|
|
322
|
+
</details>
|
|
323
|
+
|
|
324
|
+
<details>
|
|
325
|
+
<summary>Antigravity (~/.gemini/antigravity/mcp_config.json)</summary>
|
|
326
|
+
|
|
327
|
+
```json
|
|
328
|
+
{
|
|
329
|
+
"mcpServers": {
|
|
330
|
+
"a4e": {
|
|
331
|
+
"command": "/path/to/python",
|
|
332
|
+
"args": ["-m", "a4e.server"]
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
```
|
|
337
|
+
|
|
338
|
+
</details>
|
|
339
|
+
|
|
340
|
+
## Troubleshooting
|
|
341
|
+
|
|
342
|
+
### "a4e: command not found"
|
|
343
|
+
|
|
344
|
+
Ensure pip scripts are in your PATH:
|
|
345
|
+
|
|
346
|
+
```bash
|
|
347
|
+
# Find where pip installs scripts
|
|
348
|
+
python -m site --user-base
|
|
349
|
+
|
|
350
|
+
# Add to PATH (add to ~/.bashrc or ~/.zshrc)
|
|
351
|
+
export PATH="$HOME/.local/bin:$PATH"
|
|
352
|
+
|
|
353
|
+
# Or install with pipx for automatic PATH management
|
|
354
|
+
pipx install a4e
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
### MCP not connecting in IDE
|
|
358
|
+
|
|
359
|
+
```bash
|
|
360
|
+
# 1. Test the MCP server
|
|
361
|
+
a4e mcp test
|
|
362
|
+
|
|
363
|
+
# 2. Check your config
|
|
364
|
+
a4e mcp show cursor
|
|
365
|
+
|
|
366
|
+
# 3. Verify Python path is correct
|
|
367
|
+
which python
|
|
368
|
+
|
|
369
|
+
# 4. Restart your IDE after config changes
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
### ngrok errors in dev server
|
|
373
|
+
|
|
374
|
+
```bash
|
|
375
|
+
# Check if ngrok is configured
|
|
376
|
+
ngrok config check
|
|
377
|
+
|
|
378
|
+
# Add your authtoken
|
|
379
|
+
ngrok config add-authtoken YOUR_TOKEN
|
|
380
|
+
|
|
381
|
+
# Or pass it directly
|
|
382
|
+
a4e dev start --auth-token YOUR_TOKEN
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
### Port 5000 already in use
|
|
386
|
+
|
|
387
|
+
```bash
|
|
388
|
+
# Find what's using the port
|
|
389
|
+
lsof -i :5000
|
|
390
|
+
|
|
391
|
+
# Kill it
|
|
392
|
+
kill -9 <PID>
|
|
393
|
+
|
|
394
|
+
# Or use a different port
|
|
395
|
+
a4e dev start --port 5001
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
### MCP config backup
|
|
399
|
+
|
|
400
|
+
When running `a4e mcp setup`, a backup is automatically created at:
|
|
401
|
+
|
|
402
|
+
- Cursor: `~/.cursor/mcp.json.backup`
|
|
403
|
+
- Claude Code: `~/.claude.json.backup`
|
|
404
|
+
- Antigravity: `~/.gemini/antigravity/mcp_config.json.backup`
|
|
405
|
+
|
|
406
|
+
To restore:
|
|
407
|
+
|
|
408
|
+
```bash
|
|
409
|
+
cp ~/.cursor/mcp.json.backup ~/.cursor/mcp.json
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
## Documentation
|
|
413
|
+
|
|
414
|
+
- [CLI Reference](CLI.md) - Full command documentation
|
|
415
|
+
- [Getting Started](docs/GETTING_STARTED.md) - Step-by-step tutorial
|
|
416
|
+
- [Examples](docs/EXAMPLES.md) - Sample agents
|
|
417
|
+
- [View System](docs/VIEW_SYSTEM.md) - How views work
|
|
418
|
+
|
|
419
|
+
## License
|
|
420
|
+
|
|
421
|
+
MIT License - see [LICENSE](LICENSE) for details.
|
|
422
|
+
|
|
423
|
+
## Links
|
|
424
|
+
|
|
425
|
+
- [PyPI](https://pypi.org/project/a4e/)
|
|
426
|
+
- [GitHub](https://github.com/simetrik-inc-public/a4e-mcp-server)
|
|
427
|
+
- [Issues](https://github.com/simetrik-inc-public/a4e-mcp-server/issues)
|