Skip to content

Getting Started with Agentic Forge ​

January 2026

This tutorial walks you through setting up the complete Agentic Forge stack—from cloning the repositories to running your first AI-powered conversation with tools.

Prerequisites ​

  • Docker and Docker Compose (recommended) or native tooling (Python 3.12+, Node.js/Bun)
  • API Key — At minimum, one LLM provider key (OpenRouter recommended for simplicity)
  • Optional — Brave Search API key for web search functionality

Architecture Overview ​

Agentic Forge consists of several services that work together:

Agentic Forge Architecture

ServicePortDescription
forge-ui4040Vue.js chat interface
forge-orchestrator4041LLM agent loop with multi-provider support
forge-armory4042MCP protocol gateway
mcp-weather4050Weather tool (Open-Meteo API)
mcp-web-search4051Web search tool (Brave Search API)

Quick Start with Docker (5 Minutes) ​

The fastest way to get everything running:

bash
# Clone the devtools repository
git clone https://github.com/agentic-forge/forge-devtools.git
cd forge-devtools

# Clone all Forge repositories
./scripts/clone-repos.sh

# Copy environment template and add your API keys
cp .env.example .env

# Edit .env and add at least one LLM provider key
# OPENROUTER_API_KEY=sk-or-...  (recommended - access to 200+ models)

# Start all services
docker compose up

Open http://localhost:4040 in your browser.

Getting API Keys ​

You need at least one LLM provider API key:

ProviderGet KeyNotes
OpenRouterRecommendedAccess to 200+ models with one key
OpenAIGPT-4, GPT-4o
AnthropicClaude models
GoogleGemini models

Optional but recommended:

  • Brave Search API — For web search functionality (free tier: 2,000 queries/month)

Your First Conversation ​

Once the services are running:

  1. Open http://localhost:4040
  2. Select a model from the dropdown
  3. Ask about the weather: "What's the weather like in Tokyo?"

You'll see the agent:

  • Process your request
  • Call the weather__get_forecast tool
  • Display the tool execution with latency
  • Return a natural language response

Forge UI with tool calls

Native Development (Without Docker) ​

For active development with hot reload, use the tmux-based scripts:

bash
# Prerequisites: tmux, uv (Python), bun (Node.js), PostgreSQL
cd forge-devtools

# Start all services in tmux panes
./scripts/dev-start.sh

# Reattach to the tmux session
tmux attach -t forge

# Stop all services
./scripts/dev-stop.sh

Each service runs in its own tmux pane with hot reload enabled.

Testing MCP Servers with Anvil ​

Forge Anvil is an MCP client tool for testing and debugging MCP servers. Use it to verify your tools work before integrating them:

bash
# In the forge-anvil directory
cd forge-anvil
uv sync

# Set the MCP server URL
export ANVIL_SERVER=http://localhost:4050/mcp

# List available tools
anvil list-tools

# Call a tool
anvil call get_current_weather --arg city=London

# Launch the web inspector
anvil ui

Anvil's web UI provides an interactive interface for exploring tools and testing them with different arguments.

Adding Custom Tools ​

To add your own MCP tools:

1. Create an MCP Server ​

Use FastMCP to build a new server:

python
from fastmcp import FastMCP

mcp = FastMCP("my-tools")

@mcp.tool
def my_tool(param: str) -> str:
    """Description of what this tool does."""
    return f"Result for {param}"

if __name__ == "__main__":
    mcp.run(transport="http", port=8000)

2. Register with Armory ​

Add the backend via the Armory Admin UI at http://localhost:4043/ui/ or via CLI:

bash
curl -X POST http://localhost:4042/admin/backends \
  -H "Content-Type: application/json" \
  -d '{"name": "my-tools", "url": "http://localhost:8000/mcp", "enabled": true}'

3. Test with Anvil ​

Verify your tools work:

bash
anvil list-tools --server http://localhost:8000/mcp
anvil call my_tool --arg param=test

Service Health Checks ​

Check if services are running:

bash
# Orchestrator
curl http://localhost:4041/health

# Armory
curl http://localhost:4042/health

# MCP Weather
curl http://localhost:4050/health

Troubleshooting ​

No tools available ​

Check that Armory can reach the MCP servers:

bash
curl http://localhost:4042/admin/backends

If backends show as disconnected, verify the MCP servers are running.

Model errors ​

Verify your API keys are set correctly in .env. Check the orchestrator logs:

bash
docker compose logs orchestrator

Connection refused ​

Ensure all services are running:

bash
docker compose ps

Next Steps ​

Source Code ​


This is part of a series on building Agentic Forge.

Building efficient AI agents