Installation | Agent Tool Protocol
Skip to main content

Installation

This guide covers different installation methods and configurations for Agent Tool Protocol.

Package Overview

Agent Tool Protocol is a monorepo with multiple packages. Choose the packages you need based on your use case:

PackagePurposeInstall When
@mondaydotcomorg/atp-serverHost APIs and execute codeBuilding a server
@mondaydotcomorg/atp-clientConnect to servers and execute codeBuilding a client/agent
@mondaydotcomorg/atp-runtimeRuntime SDK (auto-included in sandboxes)Rarely needed directly
@mondaydotcomorg/atp-protocolCore types and interfacesBuilding custom integrations
@mondaydotcomorg/atp-provenanceProvenance trackingUsing security features
@mondaydotcomorg/atp-langchainLangChain integrationUsing with LangChain
@mondaydotcomorg/atp-mcp-adapterMCP server integrationConnecting to MCP servers

Basic Installation

For Server Development

npm install @mondaydotcomorg/atp-server
yarn add @mondaydotcomorg/atp-server
pnpm add @mondaydotcomorg/atp-server

For Client Development

npm install @mondaydotcomorg/atp-client

For Both Server and Client

npm install @mondaydotcomorg/atp-server @mondaydotcomorg/atp-client

Optional Dependencies

Redis for Caching

For production deployments with multiple server instances:

npm install ioredis @mondaydotcomorg/atp-providers

LangChain Integration

npm install @mondaydotcomorg/atp-langchain langchain @langchain/core

MCP Adapter

npm install @mondaydotcomorg/atp-mcp-adapter

OpenTelemetry (Observability)

npm install @opentelemetry/api @opentelemetry/sdk-node

System Requirements

Minimum Requirements

  • Node.js: 18.0.0 or higher (20.x recommended)
  • Memory: 512 MB RAM minimum
  • OS: Linux, macOS, or Windows
  • Node.js: 20.x LTS
  • Memory: 2 GB+ RAM
  • OS: Linux (Ubuntu 20.04+, Debian 11+, or similar)
  • Redis: For distributed caching (optional)

TypeScript Setup

Agent Tool Protocol is built with TypeScript and provides full type definitions.

tsconfig.json

{
"compilerOptions": {
"target": "ES2022",
"module": "ESNext",
"moduleResolution": "node",
"lib": ["ES2022"],
"esModuleInterop": true,
"skipLibCheck": true,
"strict": true,
"resolveJsonModule": true,
"types": ["node"]
},
"include": ["src/**/*"],
"exclude": ["node_modules"]
}

package.json

Make sure your project is configured for ES modules:

{
"type": "module",
"engines": {
"node": ">=18.0.0"
}
}

Verification

After installation, verify everything is working:

Create test-install.ts

import { createServer } from '@mondaydotcomorg/atp-server';
import { AgentToolProtocolClient } from '@mondaydotcomorg/atp-client';

console.log('✅ @mondaydotcomorg/atp-server imported successfully');
console.log('✅ @mondaydotcomorg/atp-client imported successfully');

const server = createServer();
console.log('✅ Server instance created');

const client = new AgentToolProtocolClient({
baseUrl: 'http://localhost:3333',
});
console.log('✅ Client instance created');

console.log('\n🎉 Installation successful!');

Run the verification

npx tsx test-install.ts

Expected output:

✅ @mondaydotcomorg/atp-server imported successfully
✅ @mondaydotcomorg/atp-client imported successfully
✅ Server instance created
✅ Client instance created

🎉 Installation successful!

Docker Installation

You can also use Docker to run Agent Tool Protocol:

Dockerfile

FROM node:20-alpine

WORKDIR /app

# Install dependencies
COPY package*.json ./
RUN npm ci --only=production

# Copy application code
COPY . .

# Build TypeScript
RUN npm run build

# Expose port
EXPOSE 3333

# Run server
CMD ["node", "dist/server.js"]

docker-compose.yml

version: '3.8'

services:
atp-server:
build: .
ports:
- "3333:3333"
environment:
- NODE_ENV=production
- REDIS_URL=redis://redis:6379
depends_on:
- redis

redis:
image: redis:7-alpine
ports:
- "6379:6379"
volumes:
- redis-data:/data

volumes:
redis-data:

Development Setup

For contributing to Agent Tool Protocol or running examples:

Clone the Repository

git clone https://github.com/mondaycom/agent-tool-protocol.git
cd agent-tool-protocol

Install Dependencies

yarn install

Build All Packages

yarn build

Run Tests

yarn test

Troubleshooting

isolated-vm Installation Issues

The @mondaydotcomorg/atp-server package depends on isolated-vm, which requires compilation. If you encounter issues:

On Linux:

sudo apt-get install build-essential python3
npm install

On macOS:

xcode-select --install
npm install

On Windows:

npm install --global windows-build-tools
npm install

Memory Issues During Installation

If you run out of memory during installation:

export NODE_OPTIONS=--max-old-space-size=4096
npm install

Permission Issues

If you get permission errors:

Don't use sudo! Instead, configure npm to use a different directory:

mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

Version Conflicts

If you have version conflicts, check your package versions:

npm list @mondaydotcomorg/atp-server
npm list @mondaydotcomorg/atp-client

All @mondaydotcomorg/atp-* packages should be on the same version.

Environment Variables

Optional environment variables for configuration:

# Server
PORT=3333
NODE_ENV=production

# Redis (if using)
REDIS_URL=redis://localhost:6379

# OpenTelemetry (if using)
OTEL_SERVICE_NAME=my-atp-server
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318

Next Steps

Update Instructions

To update to the latest version:

npm update @mondaydotcomorg/atp-server @mondaydotcomorg/atp-client

Or specify a specific version:

npm install @mondaydotcomorg/atp-server@latest

Check the CHANGELOG for breaking changes and migration guides.

Agent Tool Protocol | ATP - Code Execution for AI Agents