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)