apteva 0.4.11 → 0.4.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "apteva",
3
- "version": "0.4.11",
3
+ "version": "0.4.12",
4
4
  "description": "Run AI agents locally. Multi-provider support for Claude, GPT, Gemini, Llama, and more.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -48,24 +48,47 @@ const PLATFORM_TOOLS = [
48
48
  },
49
49
  {
50
50
  name: "create_agent",
51
- description: "Create a new AI agent. Requires a name, provider, and model. The provider must have an API key configured.",
51
+ description: `Create a new AI agent. The provider must have an API key configured — use list_providers first to check.
52
+
53
+ PROVIDERS & MODELS (use list_providers to see which have keys):
54
+ - anthropic: claude-sonnet-4-5 (recommended), claude-haiku-4-5 (fast/cheap)
55
+ - openai: gpt-4o (recommended), gpt-4o-mini (fast/cheap)
56
+ - groq: llama-3.3-70b-versatile (recommended), llama-3.1-8b-instant (fast)
57
+ - gemini: gemini-3-pro-preview (recommended), gemini-3-flash-preview (fast)
58
+ - xai: grok-2 (recommended), grok-2-mini (fast)
59
+ - together: moonshotai/Kimi-K2.5 (recommended), moonshotai/Kimi-K2-Thinking (reasoning)
60
+ - fireworks: accounts/fireworks/models/kimi-k2p5, accounts/fireworks/models/kimi-k2-thinking
61
+ - moonshot: moonshot-v1-128k (recommended), moonshot-v1-32k (fast)
62
+ - ollama: llama3.3, llama3.2, qwen2.5, mistral, deepseek-r1 (local, no API key needed)
63
+
64
+ FEATURES (all optional, default false):
65
+ - memory: Persistent memory across conversations — agent remembers past interactions. Requires OpenAI key for embeddings.
66
+ - tasks: Task scheduling — agent can create, schedule, and track tasks. Supports recurring tasks.
67
+ - vision: Image & PDF understanding — agent can analyze uploaded images and PDFs.
68
+ - mcp: MCP tool use — agent can use tools from assigned MCP servers. Enable this if you plan to assign MCP servers.
69
+ - files: File management — agent can read, write, and manage files in its workspace.
70
+
71
+ TIPS:
72
+ - Always provide a descriptive system_prompt that tells the agent what it does and how to behave.
73
+ - Assign to a project_id to organize agents. Use list_projects to see available projects.
74
+ - After creating, use start_agent to run it. Then assign MCP servers or skills as needed.`,
52
75
  inputSchema: {
53
76
  type: "object",
54
77
  properties: {
55
- name: { type: "string", description: "Agent name" },
56
- provider: { type: "string", description: "LLM provider ID (e.g. anthropic, openai, groq, gemini, xai, together, fireworks, ollama)" },
57
- model: { type: "string", description: "Model ID (e.g. claude-sonnet-4-5, gpt-4o, llama-3.3-70b-versatile)" },
58
- system_prompt: { type: "string", description: "System prompt for the agent (optional)" },
59
- project_id: { type: "string", description: "Project ID to assign the agent to (optional)" },
78
+ name: { type: "string", description: "Agent name (e.g. 'Customer Support', 'Code Reviewer')" },
79
+ provider: { type: "string", description: "LLM provider ID: anthropic, openai, groq, gemini, xai, together, fireworks, moonshot, ollama" },
80
+ model: { type: "string", description: "Model ID see tool description for full list per provider" },
81
+ system_prompt: { type: "string", description: "Instructions for the agent. Describe its role, personality, and capabilities. This is the most important field for agent behavior." },
82
+ project_id: { type: "string", description: "Project ID to assign the agent to (optional). Use list_projects to find IDs." },
60
83
  features: {
61
84
  type: "object",
62
- description: "Feature flags (optional). All default to false.",
85
+ description: "Feature flags to enable. All default to false. See tool description for details on each feature.",
63
86
  properties: {
64
- memory: { type: "boolean" },
65
- tasks: { type: "boolean" },
66
- vision: { type: "boolean" },
67
- mcp: { type: "boolean" },
68
- files: { type: "boolean" },
87
+ memory: { type: "boolean", description: "Persistent memory across conversations (requires OpenAI key for embeddings)" },
88
+ tasks: { type: "boolean", description: "Task scheduling and tracking" },
89
+ vision: { type: "boolean", description: "Image and PDF understanding" },
90
+ mcp: { type: "boolean", description: "MCP tool use — required if assigning MCP servers" },
91
+ files: { type: "boolean", description: "File read/write in agent workspace" },
69
92
  },
70
93
  },
71
94
  },
@@ -74,17 +97,27 @@ const PLATFORM_TOOLS = [
74
97
  },
75
98
  {
76
99
  name: "update_agent",
77
- description: "Update an existing agent's configuration. Only provide fields you want to change.",
100
+ description: "Update an existing agent's configuration. Only provide fields you want to change. If the agent is running, restart it after updating for changes to take effect.",
78
101
  inputSchema: {
79
102
  type: "object",
80
103
  properties: {
81
104
  agent_id: { type: "string", description: "The agent ID to update" },
82
- name: { type: "string", description: "New name" },
83
- model: { type: "string", description: "New model ID" },
84
- provider: { type: "string", description: "New provider ID" },
85
- system_prompt: { type: "string", description: "New system prompt" },
86
- project_id: { type: "string", description: "New project ID (or null to unassign)" },
87
- features: { type: "object", description: "Feature flags to update" },
105
+ name: { type: "string", description: "New display name" },
106
+ model: { type: "string", description: "New model ID (see create_agent for available models per provider)" },
107
+ provider: { type: "string", description: "New provider ID (the new provider must have an API key configured)" },
108
+ system_prompt: { type: "string", description: "New system prompt / instructions" },
109
+ project_id: { type: "string", description: "New project ID, or null to unassign from project" },
110
+ features: {
111
+ type: "object",
112
+ description: "Feature flags to update (only provided flags are changed, others remain as-is)",
113
+ properties: {
114
+ memory: { type: "boolean" },
115
+ tasks: { type: "boolean" },
116
+ vision: { type: "boolean" },
117
+ mcp: { type: "boolean" },
118
+ files: { type: "boolean" },
119
+ },
120
+ },
88
121
  },
89
122
  required: ["agent_id"],
90
123
  },
@@ -102,7 +135,7 @@ const PLATFORM_TOOLS = [
102
135
  },
103
136
  {
104
137
  name: "start_agent",
105
- description: "Start a stopped agent. The agent's provider must have an API key configured.",
138
+ description: "Start a stopped agent. The agent's provider must have an API key configured. Starting spawns a process, waits for health check, and pushes configuration (model, features, MCP servers, skills). Takes a few seconds.",
106
139
  inputSchema: {
107
140
  type: "object",
108
141
  properties: {
@@ -174,18 +207,26 @@ const PLATFORM_TOOLS = [
174
207
  },
175
208
  {
176
209
  name: "create_mcp_server",
177
- description: "Create a new MCP server. For HTTP (remote) servers, provide url and optional headers. For npm package servers, provide a package name.",
210
+ description: `Create a new MCP server configuration. MCP servers provide tools that agents can use (web search, file access, APIs, etc).
211
+
212
+ SERVER TYPES:
213
+ - http: Remote MCP server accessible via URL. Provide url and optional auth headers. Ready to use immediately.
214
+ - npm: Node.js MCP server from npm. Provide package name (e.g. '@modelcontextprotocol/server-filesystem'). Needs to be started.
215
+ - pip: Python MCP server from PyPI. Provide package name. Needs to be started.
216
+ - custom: Custom command. Provide command and args. Needs to be started.
217
+
218
+ After creating, assign to agents with assign_mcp_server_to_agent. HTTP servers work immediately; npm/pip/custom servers need to be started from the MCP page in the UI.`,
178
219
  inputSchema: {
179
220
  type: "object",
180
221
  properties: {
181
- name: { type: "string", description: "Server display name" },
182
- type: { type: "string", description: "Server type: 'http' (remote URL), 'npm' (npm package), 'pip' (Python package), 'custom' (custom command)" },
183
- url: { type: "string", description: "For http type: the remote MCP server URL" },
184
- headers: { type: "object", description: "For http type: auth headers (e.g. {\"Authorization\": \"Bearer ...\"})" },
185
- package: { type: "string", description: "For npm/pip type: the package name (e.g. '@modelcontextprotocol/server-filesystem')" },
186
- command: { type: "string", description: "For custom type: the command to run" },
187
- args: { type: "string", description: "Command arguments (optional)" },
188
- project_id: { type: "string", description: "Project ID to scope the server to (optional, null = global)" },
222
+ name: { type: "string", description: "Display name (e.g. 'Filesystem', 'Web Search', 'GitHub')" },
223
+ type: { type: "string", description: "Server type: http, npm, pip, or custom" },
224
+ url: { type: "string", description: "For http type: the remote MCP server URL (e.g. 'https://mcp.example.com/sse')" },
225
+ headers: { type: "object", description: "For http type: auth headers as key-value pairs" },
226
+ package: { type: "string", description: "For npm/pip type: package name" },
227
+ command: { type: "string", description: "For custom type: executable command" },
228
+ args: { type: "string", description: "Command arguments string (optional)" },
229
+ project_id: { type: "string", description: "Scope to a project (optional). null = available globally to all agents." },
189
230
  },
190
231
  required: ["name", "type"],
191
232
  },
@@ -203,7 +244,7 @@ const PLATFORM_TOOLS = [
203
244
  },
204
245
  {
205
246
  name: "assign_mcp_server_to_agent",
206
- description: "Assign an MCP server to an agent so the agent can use its tools. The agent must have MCP feature enabled.",
247
+ description: "Assign an MCP server to an agent so the agent can use its tools. This automatically enables the MCP feature on the agent. If the agent is running, restart it for changes to take effect.",
207
248
  inputSchema: {
208
249
  type: "object",
209
250
  properties: {
@@ -248,7 +289,7 @@ const PLATFORM_TOOLS = [
248
289
  // Skills management
249
290
  {
250
291
  name: "list_skills",
251
- description: "List all installed skills. Skills are reusable instruction sets that give agents specialized capabilities.",
292
+ description: "List all installed skills. Skills are reusable instruction sets (like prompt templates with tool permissions) that give agents specialized capabilities. Skills can be installed from the SkillsMP marketplace or created locally.",
252
293
  inputSchema: {
253
294
  type: "object",
254
295
  properties: {
@@ -281,7 +322,7 @@ const PLATFORM_TOOLS = [
281
322
  },
282
323
  {
283
324
  name: "assign_skill_to_agent",
284
- description: "Assign a skill to an agent so it can use those instructions.",
325
+ description: "Assign a skill to an agent. The skill's instructions and tool permissions will be pushed to the agent on next start/restart.",
285
326
  inputSchema: {
286
327
  type: "object",
287
328
  properties: {
@@ -772,7 +813,17 @@ export async function handlePlatformMcpRequest(req: Request): Promise<Response>
772
813
  name: "apteva-platform",
773
814
  version: "1.0.0",
774
815
  },
775
- instructions: "This MCP server provides tools to control the Apteva AI agent platform. You can create, start, stop, and manage agents, projects, and view system status.",
816
+ instructions: `This MCP server controls the Apteva AI agent management platform.
817
+
818
+ You can manage:
819
+ - AGENTS: Create, configure, start, stop, and delete AI agents. Each agent has a provider (LLM), model, system prompt, and optional features (memory, tasks, vision, MCP tools, files).
820
+ - PROJECTS: Organize agents into projects for grouping.
821
+ - MCP SERVERS: Tool integrations that give agents capabilities (web search, file access, APIs). Assign servers to agents.
822
+ - SKILLS: Reusable instruction sets that specialize agent behavior. Assign skills to agents.
823
+ - PROVIDERS: View which LLM providers have API keys configured.
824
+
825
+ Typical workflow: list_providers → create_agent → assign MCP servers/skills → start_agent.
826
+ Always use list_providers first to check which providers have API keys before creating agents.`,
776
827
  };
777
828
  break;
778
829
  }
@@ -47,23 +47,31 @@ export async function handleMetaAgentRoutes(
47
47
  name: "Apteva Assistant",
48
48
  model: defaultModel,
49
49
  provider: providerId,
50
- system_prompt: `You are the Apteva Assistant, an AI that manages the Apteva agent platform.
51
-
52
- You have tools to control the platform directly:
53
- - Create, configure, start, and stop AI agents
54
- - Manage projects and organize agents into them
55
- - View system status, configured providers, and MCP servers
56
- - Send messages to other running agents
57
-
58
- Use your tools proactively when users ask you to do things. For example:
59
- - "Create a GPT agent" → use create_agent with provider "openai" and model "gpt-4o"
60
- - "Start my agent" → use start_agent
61
- - "How many agents do I have?" use get_dashboard_stats or list_agents
62
-
63
- Available providers: anthropic (Claude), openai (GPT), groq (Llama), gemini (Gemini), xai (Grok), together, fireworks, ollama (local).
64
- Use list_providers to see which have API keys configured.
65
-
66
- Be concise and action-oriented. Confirm what you did after taking actions. Use markdown formatting.`,
50
+ system_prompt: `You are the Apteva Assistant, an AI that manages the Apteva agent platform. You have full control over the platform via your tools.
51
+
52
+ WHAT YOU CAN DO:
53
+ - **Agents**: Create, configure, start, stop, and delete AI agents
54
+ - **Projects**: Create projects and organize agents into them
55
+ - **MCP Servers**: Add tool integrations (HTTP, npm, pip) and assign them to agents
56
+ - **Skills**: List, enable/disable, and assign skills to agents
57
+ - **Providers**: Check which LLM providers have API keys configured
58
+ - **Communication**: Send messages to running agents
59
+
60
+ WORKFLOW FOR CREATING AGENTS:
61
+ 1. Use list_providers to check which providers have API keys
62
+ 2. Use create_agent with a provider that has a key, pick a model, write a good system prompt
63
+ 3. Optionally assign MCP servers (for tools) and skills (for behavior)
64
+ 4. Use start_agent to run it
65
+
66
+ AGENT FEATURES (enable when creating/updating):
67
+ - **memory**: Persistent memory across conversations (needs OpenAI key for embeddings)
68
+ - **tasks**: Scheduling and task tracking
69
+ - **vision**: Image and PDF understanding
70
+ - **mcp**: Required if assigning MCP servers — gives the agent tool-use capability
71
+ - **files**: File read/write in agent workspace
72
+
73
+ ALWAYS use your tools proactively. When a user says "create an agent", don't explain how — just do it. Confirm what you did after.
74
+ Be concise. Use markdown formatting.`,
67
75
  features: {
68
76
  memory: false,
69
77
  tasks: false,