Skip to main content
Glama
memjar

AXE Fleet MCP Server

by memjar
README.md
# AXE Fleet MCP Server

**Proprietary MCP server for the AXE distributed AI fleet.**

Forked from [Apify MCP Server](https://github.com/apify/apify-mcp-server) (MIT License) and customized for AXE fleet operations.

## What This Does

Exposes **19,000+ Apify Actors** (web scrapers, automation tools, data extractors) as MCP tools that any AXE fleet node can invoke. Agents can dynamically discover, inspect, and execute scrapers for:

- **OSINT & Intelligence** — Google Maps, social media, SERP scraping
- **Web Content Extraction** — RAG-ready content crawling for fleet knowledge base
- **Monitoring** — Price tracking, change detection, competitive intelligence
- **Data Pipelines** — Structured extraction from any website

## AXE Modifications

| Change | Details |
|--------|---------|
| **Telemetry removed** | No Sentry, no Segment analytics. Fleet handles its own observability via ops_centre.py |
| **Rebranded** | Server identifies as `axe-mcp-server` / `AXE Fleet MCP Server` |
| **Telemetry off by default** | `DEFAULT_TELEMETRY_ENABLED = false` |
| **Skyfire payment removed** | Direct Apify token auth only |
| **Fleet-ready** | Designed to run on any AXE node (JL1-JL3, JLa, JLb) |

## Quick Start

### As Claude Code MCP Server (stdio)
```json
{
  "mcpServers": {
    "axe-actors": {
      "command": "node",
      "args": ["./dist/stdio.js", "--tools", "actors,docs,apify/rag-web-browser"],
      "env": {
        "APIFY_TOKEN": "apify_api_XXXXX"
      }
    }
  }
}
```

### Using Apify's Hosted Endpoint (no local build needed)
```json
{
  "mcpServers": {
    "axe-actors": {
      "url": "https://mcp.apify.com"
    }
  }
}
```

### Build Locally
```bash
npm install
npm run build
node dist/stdio.js --tools actors,docs,apify/rag-web-browser
```

## Architecture

```
src/
├── main.ts              — Express server entry (Apify Actor standby mode)
├── stdio.ts             — CLI/stdio transport entry (for MCP clients)
├── const.ts             — Server config, tool enums, cache settings
├── apify_client.ts      — Apify API client wrapper
├── mcp/
│   ├── server.ts        — Core MCP server (ActorsMcpServer class)
│   ├── actors.ts        — Actor definition loading
│   ├── client.ts        — MCP client for proxying
│   └── proxy.ts         — MCP server proxying
├── tools/
│   ├── common/          — Shared tool implementations (add-actor, search, datasets, KV stores)
│   ├── core/            — Core tool logic (actor execution, response handling)
│   ├── default/         — Default MCP tool wrappers
│   └── openai/          — OpenAI-compatible tool wrappers
├── utils/               — Helpers (auth, schema gen, caching, HTML processing)
├── resources/           — MCP resources (widgets)
├── prompts/             — Built-in prompt templates
└── web/                 — Web UI (React/Tailwind)
```

## Key Tools

| Tool | Purpose |
|------|---------|
| `search-actors` | Search 19K+ Apify Actors by keyword |
| `add-actor` | Dynamically register an Actor as an MCP tool |
| `call-actor` | Execute any Actor and get results |
| `fetch-actor-details` | Get Actor specs, schema, pricing |
| `get-actor-output` | Retrieve full output from a completed run |
| `get-dataset-items` | Access stored dataset results |
| `search-apify-docs` | Search Apify/Crawlee documentation |
| `apify/rag-web-browser` | Built-in web search + content extraction |

## Fleet Integration

This server can be deployed on any AXE node:
- **JL1 (Nova)** — Primary host, M1 Max with Node 22+, build and run here
- **JL3 (Vigil)** — Ops hub, coordinates scraping tasks via API
- **JLb (Reaper)** — Existing scraping node, can offload to Apify for anti-bot handling

Vigil's autonomous RESEARCH cycles can use Apify Actors to gather intelligence during 4-hour deep-dive sessions.

## Requirements

- Node.js >= 22.0.0
- Apify API token (free tier: $5/month credits, no credit card required)
- Get token: https://console.apify.com/account/integrations

## Upstream

Based on [apify/apify-mcp-server](https://github.com/apify/apify-mcp-server) v0.9.11.
To pull upstream changes: `git remote add upstream https://github.com/apify/apify-mcp-server.git && git fetch upstream`

## License

MIT (inherited from upstream)