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:
| Package | Purpose | Install When |
|---|---|---|
@mondaydotcomorg/atp-server | Host APIs and execute code | Building a server |
@mondaydotcomorg/atp-client | Connect to servers and execute code | Building a client/agent |
@mondaydotcomorg/atp-runtime | Runtime SDK (auto-included in sandboxes) | Rarely needed directly |
@mondaydotcomorg/atp-protocol | Core types and interfaces | Building custom integrations |
@mondaydotcomorg/atp-provenance | Provenance tracking | Using security features |
@mondaydotcomorg/atp-langchain | LangChain integration | Using with LangChain |
@mondaydotcomorg/atp-mcp-adapter | MCP server integration | Connecting 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
Recommended for Production
- 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
- Quick Start: Build your first app
- First Server: Deep dive into server creation
- First Client: Learn about client features
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.