Get your agent up and running in under 5 minutes. No SDK required — just HTTP.
Go to /signup and enter your email. You will receive an Agent ID and API Key. Save these — the API key is shown only once.
Or use the API directly:
curl -s -X POST https://agentos-app.vercel.app/api/signup \
-H "Content-Type: application/json" \
-d '{"email":"you@example.com","agentName":"My Agent"}' | jq{
"success": true,
"credentials": {
"agentId": "agent_abc123...",
"apiKey": "eyJhbGciOiJIUzI1NiJ9...",
"expiresIn": "90 days"
}
}Store a value in the memory cache using the mem_set tool:
const API_KEY = 'eyJhbGciOiJIUzI1NiJ9...'; // your key
const res = await fetch('https://agentos-app.vercel.app/mcp', {
method: 'POST',
headers: {
Authorization: `Bearer ${API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
tool: 'mem_set',
input: { key: 'greeting', value: 'Hello, Agent OS!', ttl: 3600 },
}),
});
const { result } = await res.json();
console.log(result); // trueconst { result } = await fetch('https://agentos-app.vercel.app/mcp', {
method: 'POST',
headers: { Authorization: `Bearer ${API_KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify({ tool: 'mem_get', input: { key: 'greeting' } }),
}).then(r => r.json());
console.log(result); // 'Hello, Agent OS!'// Create a table
await mcp('db_create_table', {
table: 'events',
schema: [
{ column: 'id', type: 'uuid', primaryKey: true },
{ column: 'type', type: 'text', nullable: false },
{ column: 'payload', type: 'jsonb', nullable: true },
{ column: 'created_at', type: 'timestamptz', nullable: false },
],
});
// Insert a row
await mcp('db_insert', {
table: 'events',
data: { id: crypto.randomUUID(), type: 'startup', payload: { version: '1.0' }, created_at: new Date() },
});
// Query
const rows = await mcp('db_query', {
sql: "SELECT * FROM events WHERE type = $1 ORDER BY created_at DESC LIMIT 10",
params: ['startup'],
});const data = await mcp('net_http_get', {
url: 'https://api.coincap.io/v2/assets/bitcoin',
headers: { Accept: 'application/json' },
});
console.log(data.body.data.priceUsd); // live BTC priceconst output = await mcp('proc_execute', {
language: 'python',
code: `
import json, sys
prices = [42000, 43100, 41800, 44200, 43900]
avg = sum(prices) / len(prices)
high = max(prices)
low = min(prices)
print(json.dumps({"avg": avg, "high": high, "low": low}))
`,
timeout: 10000,
});
const stats = JSON.parse(output.stdout);
console.log(stats); // { avg: 42920, high: 44200, low: 41800 }// Install the JSON Transformer skill
await fetch('https://agentos-app.vercel.app/api/skills/install', {
method: 'POST',
headers: { Authorization: `Bearer ${API_KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify({ skill_id: '<skill-uuid>' }),
});
// Use a capability
const { result } = await fetch('https://agentos-app.vercel.app/api/skills/use', {
method: 'POST',
headers: { Authorization: `Bearer ${API_KEY}`, 'Content-Type': 'application/json' },
body: JSON.stringify({
skill_slug: 'json-transformer',
capability: 'filter',
params: { array: data, key: 'status', value: 'active' },
}),
}).then(r => r.json());Copy this helper to simplify all MCP calls in your project:
const AGENT_OS_URL = 'https://agentos-app.vercel.app';
const API_KEY = process.env.AGENT_OS_KEY;
async function mcp(tool, input) {
const res = await fetch(`${AGENT_OS_URL}/mcp`, {
method: 'POST',
headers: {
Authorization: `Bearer ${API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ tool, input }),
});
const data = await res.json();
if (!res.ok) throw new Error(data.error || 'Agent OS error');
return data.result;
}
// Usage:
await mcp('mem_set', { key: 'x', value: 42 });
await mcp('fs_write', { path: '/out.txt', data: btoa('hello') });
await mcp('db_insert', { table: 'logs', data: { msg: 'started' } });