agentica-server

Agentica server + Claude proxy setup - architecture, startup sequence, debugging

16 stars

Best use case

agentica-server is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Agentica server + Claude proxy setup - architecture, startup sequence, debugging

Teams using agentica-server should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/agentica-server/SKILL.md --create-dirs "https://raw.githubusercontent.com/diegosouzapw/awesome-omni-skill/main/skills/ai-agents/agentica-server/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/agentica-server/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How agentica-server Compares

Feature / Agentagentica-serverStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Agentica server + Claude proxy setup - architecture, startup sequence, debugging

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Agentica Server + Claude Proxy Setup

Complete reference for running Agentica SDK with a local Claude proxy. This enables Python agents to use Claude CLI as their inference backend.

## When to Use

Use this skill when:
- Starting Agentica development with Claude proxy
- Debugging connection issues between SDK, server, and proxy
- Setting up a fresh Agentica environment
- Troubleshooting agent tool access or hallucination issues

## Architecture

```
Agentica SDK (client code)
    | S_M_BASE_URL=http://localhost:2345
    v
ClientSessionManager
    |
    v
Agentica Server (agentica-server)
    | INFERENCE_ENDPOINT_URL=http://localhost:8080/v1/chat/completions
    v
Claude Proxy (claude_proxy.py)
    |
    v
Claude CLI (claude -p)
```

## Environment Variables

| Variable | Set By | Used By | Purpose |
|----------|--------|---------|---------|
| `INFERENCE_ENDPOINT_URL` | Human | agentica-server | Where server sends LLM inference requests |
| `S_M_BASE_URL` | Human | Agentica SDK client | Where SDK connects to session manager |

**KEY:** These are NOT the same endpoint!
- SDK connects to server (port 2345)
- Server connects to proxy (port 8080)

## Startup Sequence

Must start in this order (each in a separate terminal):

### Terminal 1: Claude Proxy

```bash
uv run python scripts/agentica/claude_proxy.py --port 8080
```

### Terminal 2: Agentica Server

**MUST run from its directory:**

```bash
cd workspace/agentica-research/agentica-server
INFERENCE_ENDPOINT_URL=http://localhost:8080/v1/chat/completions uv run agentica-server --port 2345
```

### Terminal 3: Your Agent Script

```bash
S_M_BASE_URL=http://localhost:2345 uv run python scripts/agentica/your_script.py
```

## Health Checks

```bash
# Claude proxy health
curl http://localhost:8080/health

# Agentica server health
curl http://localhost:2345/health
```

## Common Errors & Fixes

### 1. APIConnectionError after agent spawn

**Symptom:** Agent spawns successfully but fails on first call with connection error.

**Cause:** Claude proxy returning plain JSON instead of SSE format.

**Fix:** Proxy must return Server-Sent Events format:
```
data: {"choices": [...]}\n\n
```

### 2. ModuleNotFoundError for agentica-server

**Symptom:** `ModuleNotFoundError: No module named 'agentica_server'`

**Cause:** Running `uv run agentica-server` from wrong directory.

**Fix:** Must `cd workspace/agentica-research/agentica-server` first.

### 3. Agent can't use Read/Write/Edit tools

**Symptom:** Agent asks for file contents instead of reading them.

**Cause:** Missing `--allowedTools` in claude_proxy.py CLI call.

**Fix:** Proxy must pass tool permissions:
```bash
claude -p ... --allowedTools Read Write Edit Bash
```

### 4. Agent claims success but didn't do task

**Symptom:** Agent says "I've created the file" but file doesn't exist.

**Cause:** Hallucination - agent describing intended actions without executing.

**Fix:** Added emphatic anti-hallucination prompt in REPL_BASELINE:
```
CRITICAL: Use ACTUAL tools. Never DESCRIBE using tools.
```

### 5. Timeout on agent.call()

**Symptom:** Call hangs for 30+ seconds then times out.

**Cause:** Claude CLI taking too long or stuck in a loop.

**Fix:** Check proxy logs for the actual CLI output. May need to simplify prompt.

## Key Files

| File | Purpose |
|------|---------|
| `scripts/agentica/claude_proxy.py` | OpenAI-compatible proxy with SSE streaming |
| `workspace/agentica-research/agentica-server/` | Local agentica-server installation |
| `scripts/agentica/PATTERNS.md` | Multi-agent pattern documentation |

## Quick Verification

Test the full stack:

```bash
# 1. Verify proxy responds
curl http://localhost:8080/health

# 2. Verify server responds
curl http://localhost:2345/health

# 3. Test inference through proxy
curl http://localhost:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"claude","messages":[{"role":"user","content":"Say hello"}]}'
```

## Checklist

Before running agents:
- [ ] Claude proxy running on port 8080
- [ ] Agentica server running on port 2345 (from its directory)
- [ ] `S_M_BASE_URL` set for client scripts
- [ ] `INFERENCE_ENDPOINT_URL` set for server
- [ ] Both health checks return 200

Related Skills

solidstart-advanced-server

16
from diegosouzapw/awesome-omni-skill

SolidStart advanced server: getRequestEvent for request context, static assets handling, returning responses, request events and nativeEvent access.

server-management

16
from diegosouzapw/awesome-omni-skill

Server management principles and decision-making. Process management, monitoring strategy, and scaling decisions. Teaches thinking, not commands.

quarkus-mcp-server-sse

16
from diegosouzapw/awesome-omni-skill

Quarkus and MCP Server with HTTP SSE transport development standards and instructions Triggers on: *

php-mcp-server

16
from diegosouzapw/awesome-omni-skill

Best practices for building Model Context Protocol servers in PHP using the official PHP SDK with attribute-based discovery and multiple transport options Triggers on: **/*.php

mcpserver

16
from diegosouzapw/awesome-omni-skill

Migrates an MCP server with interactive widgets from the OpenAI Apps SDK (window.openai, text/html+skybridge) to the MCP Apps standard (@modelcontextprotocol/ext-apps), covering server-side and client-side changes.

MCP Server Architecture

16
from diegosouzapw/awesome-omni-skill

This skill should be used when the user asks to "create an MCP server", "set up MCP server", "build ChatGPT app backend", "MCP transport type", "configure MCP endpoint", "server setup for Apps SDK", or needs guidance on MCP server architecture, transport protocols, or SDK setup for the OpenAI Apps SDK.

java-mcp-server

16
from diegosouzapw/awesome-omni-skill

Best practices and patterns for building Model Context Protocol (MCP) servers in Java using the official MCP Java SDK with reactive streams and Spring integration. Triggers on: **/*.java, **/pom.xml, **/build.gradle, **/build.gradle.kts

github-mcp-server

16
from diegosouzapw/awesome-omni-skill

GitHub MCP Server Documentation

bitbucket-server

16
from diegosouzapw/awesome-omni-skill

This skill enables interaction with BitBucket Server REST API for Pull Request management. Use when the user wants to create, review, comment on, merge, list pull requests, read comments, or manage tasks on BitBucket Server.

asyncredux-observers

16
from diegosouzapw/awesome-omni-skill

Set up observers for debugging and monitoring. Covers implementing actionObservers for dispatch logging, stateObserver for state change tracking, combining observers with globalWrapError, and using observers for analytics.

api-mocking-server

16
from diegosouzapw/awesome-omni-skill

Create mock endpoints with scenario support.

api-mock-server

16
from diegosouzapw/awesome-omni-skill

Generate and run mock API servers from OpenAPI specifications