Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AGENTLED_URL | No | API base URL | https://www.agentled.app |
| AGENTLED_API_KEY | Yes | Workspace API key (starts with 'wsk_') |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_workflows | List all workflows in the workspace. Returns id, name, status, goal for each. |
| get_workflow | Get full details of a workflow including all steps, context, metadata, and configuration. Also returns hasDraftSnapshot (boolean) and draftSnapshot summary if a draft exists for a live workflow. |
| create_workflow | Create a new workflow from a pipeline definition. The pipeline object should include:
|
| update_workflow | Update an existing workflow. Provide only the fields you want to change. IMPORTANT: If the workflow is live, config edits (steps, context, name, etc.) are automatically routed to a draft snapshot instead of modifying the live pipeline. The response will include editingDraft: true. Use get_draft to view the draft, promote_draft to make it live, or discard_draft to throw away the changes. Non-live workflows are updated directly with an automatic pre-edit snapshot for rollback. |
| update_step | Update a single step in a workflow by step ID. Only the specified fields are merged — all other steps and fields remain unchanged. This is SAFER than update_workflow with steps because it cannot accidentally replace or delete other steps. Use this instead of update_workflow when you only need to change one step (e.g., update a prompt, change inputs, modify entry conditions). Deep-merges nested objects like pipelineStepPrompt, stepInputData, and entryConditions. For live workflows, changes are routed to a draft snapshot (same behavior as update_workflow). |
| delete_workflow | Permanently delete a workflow by ID. This cannot be undone. |
| validate_workflow | Validate a workflow's pipeline definition. Returns structured errors per step. Use this after creating or updating a workflow to check for:
Each error/warning may include a "suggestedFix" with a concrete remediation. You can also pass a pipeline object to validate a draft before saving. Returns: { valid: boolean, errors: [...], warnings: [...], stepCount: number } |
| list_snapshots | List available config snapshots for a workflow. Snapshots are automatically captured before every external API update, allowing you to restore a previous configuration. Returns snapshot ID, timestamp, and which fields were changed. |
| restore_snapshot | Restore a workflow to a previous config snapshot. Use list_snapshots first to find the snapshot ID. This will revert the workflow's steps, context, name, description, goal, and style to the state captured in the snapshot. |
| create_snapshot | Create a manual config snapshot of a workflow's current state. Use this to save a checkpoint before making changes, so you can restore later if needed. Enforces plan-based limits (Pro=2, Teams=10, Custom=50). Returns an error with limit info if the snapshot limit is reached — delete old snapshots first to free up space. |
| delete_snapshot | Delete a specific config snapshot. Use list_snapshots to find snapshot IDs. Useful for freeing up space when the snapshot limit is reached. |
| get_draft | Get the draft snapshot for a live workflow. When you update a live workflow, changes go to a draft instead of modifying the live pipeline. Use this to inspect the current draft state. Returns hasDraft: true/false and the draft config if it exists. |
| promote_draft | Promote the draft snapshot to live. This overwrites the live pipeline config with the draft contents, then deletes the draft snapshot. A pre-promote snapshot is saved automatically so the previous live config can be restored if needed. |
| discard_draft | Discard the draft snapshot for a live workflow. The live pipeline config stays unchanged. Use this to abandon draft changes and go back to the current live version. |
| publish_workflow | Change the status of a workflow (publish, pause, or archive). Valid transitions: created/draft -> live, live -> paused, paused -> live, any -> archived. Use "live" to publish a draft workflow so it can be executed. |
| export_workflow | Export a workflow as portable JSON for cross-environment transfer. Returns a self-contained WorkflowExport object with all steps, context, metadata, and pages. Workspace-specific identifiers (workspaceId, agentIds) are stripped so the export can be imported into any workspace. Use this together with import_workflow to move workflows between environments (e.g. sandbox → prod). |
| import_workflow | Import a workflow from an export JSON into this workspace. Accepts the full WorkflowExport object (from export_workflow) and creates a new workflow with fresh IDs. Associated pages are recreated. Import provenance is recorded in the workflow metadata. Use this together with export_workflow to move workflows between environments. Tip: register separate MCP servers for sandbox and prod, export from one, import into the other. |
| preview_n8n_import | Preview a deterministic n8n import from JSON. Returns:
This is a read-only preview and does not create any workflow. |
| import_n8n_workflow | Create a new Agentled workflow from an n8n JSON import. Behavior:
|
| get_step_schema | Get the full schema of allowed fields on workflow steps (PipelineStep type). Returns field names, types, descriptions, grouped by category. Use this to understand what fields you can set on a step. Unknown fields are automatically stripped on save — only fields listed here are persisted. |
| start_workflow | Start a workflow execution. Optionally provide input data that maps to the workflow's input page fields. For example, if the workflow expects "company_url", pass: { input: { company_url: "https://..." } } |
| list_executions | List recent executions for a workflow. Returns execution id, status, timestamps. |
| get_execution | Get full execution details including results from each completed step. The executionContent field maps stepId -> step output data. Use this to inspect what a workflow produced, debug failures, or check intermediate results. |
| list_timelines | List timelines (step execution records) for a specific execution. Each timeline represents a step that ran, with its status, output, and metadata. Use this to inspect individual step results, debug failures, or see the execution flow. |
| get_timeline | Get a single timeline (step execution record) by ID. Returns the full timeline including eventContent (step output), status, metadata, and context. Use this to inspect a specific step's result in detail. |
| stop_execution | Stop a running or pending workflow execution. Only works on executions with status "running" or "pending". |
| retry_execution | Retry a failed step in a workflow execution. If no timelineId is provided, the most recent failed timeline is automatically detected and retried. This re-runs the failed step and continues the workflow from that point. |
| list_apps | List all available apps/integrations in Agentled. Returns app names, descriptions, and action summaries. Use this to discover what integrations are available before building a workflow. Common apps: agentled (LinkedIn enrichment, email finder), hunter (email), web-scraping, affinity-crm, specter, http-request. |
| get_app_actions | Get detailed action schemas for a specific app. Returns input parameters, output fields, and credit costs. Use this to understand exactly what inputs an action needs when building workflow steps. |
| test_app_action | Test an app action in isolation without creating a workflow or execution. Pass the appId and actionId (from list_apps / get_app_actions) plus input data to run the action directly and see results immediately. Useful for verifying inputs before wiring a step into a workflow. Example: test_app_action("web-scraping", "scrape", { url: "https://example.com" }) |
| test_ai_action | Test an AI prompt in isolation without creating a workflow or execution. Pass a prompt template with {{variable}} syntax and variable values to run the AI and see the response. Useful for tuning prompts and response structures before adding an AI step to a workflow. Example: test_ai_action("Analyze this company: {{company}}", { company: "Stripe" }, { score: "number 0-100", summary: "string" }) |
| get_workspace | Get workspace company info, offerings, and knowledge schema overview. Returns company details (name, industry, size, offerings) and a summary of all knowledge lists with their field definitions and row counts. Use this as a first call to understand what data the workspace has. |
| list_knowledge_lists | List all knowledge list schemas with field definitions, row counts, and metadata. Returns detailed information about each list including fields, source type, category, entity config, and KG sync status. Use this to discover what lists exist and understand their structure before querying rows. |
| get_knowledge_rows | Fetch sample rows from a knowledge list. Use this to inspect actual data — see example payloads from investor/deal lists. Returns rows with their full rowData, plus count and totalCount for the list. |
| get_knowledge_text | Fetch a text-type knowledge entry by key. Use this to access text-based knowledge like feedback files, notes, or configuration text stored in the workspace. |
| query_kg_edges | Traverse Knowledge Graph edges by entity name and/or relationship type. Returns edges with source/target node IDs, relations, scores, and metadata. Use this to explore deal relationships, investor-startup connections, and scoring edges. Gracefully returns empty results if the Knowledge Graph is not configured. |
| get_scoring_history | Fetch scoring history for entities from the Knowledge Graph. Returns past scoring decisions (PROCEED_TO_IC, HOLD_FOR_REVIEW, REPOSITION, SCORED) with DMF scores and dates. Use this to see how entities were previously scored and calibrate future scoring runs. Returns both structured records and a compact text format for prompt injection. |
| chat | Send a message to the AgentLed AI agent and get a response. The agent can reason, plan, and build workflows through natural language conversation — no need to construct pipeline JSON manually. Use this tool when you want to:
The agent has access to the same planning tools, workflow builder, and workspace context as the in-app chat. For multi-turn conversations, pass the session_id returned from the first message to maintain context across messages. Example: chat("Build me a workflow that takes a LinkedIn company URL, enriches the data, and scores it by ICP fit") |
| get_branding | Get the workspace's whitelabel branding configuration. Returns the current branding settings: displayName, logoUrl, tagline, primaryColor, primaryColorDark, faviconUrl, and hideBadge. Use this to inspect the current client portal branding before making changes. |
| update_branding | Update the workspace's whitelabel branding configuration. Set any combination of branding fields. Pass null or empty string to clear a field. Fields:
|
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| app-catalog | Browse all available Agentled apps and their actions. Use this to discover integrations for building workflows. |
| workflow-catalog | Browse all workflows in the current workspace. Shows id, name, status, and goal for each workflow. |