@agentled/mcp-server

MCP serverDocs & knowledge

This integration lets your AI build and manage step-by-step workflows on your behalf. Once added, your AI can create new workflows, arrange the steps inside them, and keep them up to date as your process changes. It can also report how many credits each workflow has used.

Unavailable. This server has no hosted endpoint yet, so Ahel can't serve it.

Add to setup to save this item as a reference. Ahel cannot run it, and signing in will not install it.

What your AI can do with it

  • List all workflows in your workspace
  • Create a new workflow and add steps to it
  • Reorder, update, or remove steps in an existing workflow
  • Look up the full details of any workflow, step by step
  • Make small targeted edits to a single step without rewriting the whole workflow
  • Check credit usage for a workflow over a recent period

Getting started

  1. Save this item in Your setup as a reference.
  2. Read the source or reference documentation for its setup requirements. Saving it here does not connect it to your AI.
  3. Check this page for availability before trying to install it through Ahel.

From the project's README

As published by agentled/mcp-server in README.md.

The automation engine built for AI agents. Intelligent AI workflow orchestration with long-term memory, 100+ integrations, and unified credits.

What is Agentled?

Agentled is the automation engine built for AI agents. It gives Claude, Codex, Cursor, Windsurf, and any MCP-compatible client direct access to intelligent workflow orchestration, long-term memory, and 100+ integrations.

Three things make it different:

🧠 Long-Term Memory β€” A built-in Knowledge Graph stores insights across workflow executions. Your agents get smarter over time β€” they remember past research, lead scores, content performance, and business context.

⚑ Unified Credits β€” One API key, one credit system, 100+ services. No need to sign up for LinkedIn, email, scraping, AI models, or video generation separately. Connect once, use everything.

🎯 Intelligent Orchestration β€” AI reasons at every step. Workflows aren't just "if this then that" β€” they understand context, make decisions, and adapt to results.

See it in action

$ agentled create "Outbound to fintech CTOs in Europe"

Loading workspace context from Knowledge Graph...
✦ ICP loaded  ✦ 3 prior campaigns  ✦ 847 contacts in KG

Creating campaign with 3 workflows...

━━ Workflow 1: Prospect Research  linkedin Β· hunter Β· clearbit
  βœ“ LinkedIn: CTO + fintech + EU β†’ 189 profiles
  βœ“ Enriched via Hunter + Clearbit β†’ 156 matched
  βœ“ ICP scoring β†’ 43 high-intent leads

━━ Workflow 2: Signal Detection  web-scraper Β· crunchbase
  βœ“ Job postings β†’ 12 hiring devops
  βœ“ Crunchbase β†’ 8 recently funded
  βœ“ Cross-match: hiring + funded β†’ 5 hot leads

━━ Workflow 3: Outreach  email Β· linkedin Β· kg
  βœ“ Personalized emails from context
  βœ“ LinkedIn requests with custom notes
  βœ“ 43 leads saved to Knowledge Graph

Campaign saved. Scheduled: every 48h
Credits used: 720
β†’ https://www.agentled.app/your-team/fintech-cto-outbound

One prompt. Three workflows. LinkedIn enrichment, email finding, AI scoring, multi-channel outreach β€” all orchestrated, all stored in the Knowledge Graph for the next run.

Quick Start

claude mcp add --transport stdio --scope user agentled \
  -e AGENTLED_API_KEY=wsk_... \
  -- npx -y @agentled/mcp-server

--scope user registers the server in your user MCP config so it loads in every project (not only the repo where you ran the command). Use a distinct server name (e.g. agentled_my_workspace) if you add multiple workspaces. For team-shared config in git, use --scope project and .mcp.json instead (Claude Code MCP scopes).

Claude Code plugin (one-step install)

Prefer the plugin if you want the MCP server and the Agentled skill installed together. In Claude Code:

/plugin marketplace add Agentled/mcp-server
/plugin install agentled@agentled

Then set your API key in the shell Claude Code runs from:

export AGENTLED_API_KEY=wsk_...

The plugin bundles the agentled skill (workflow-authoring guidance, namespaced agentled:agentled) and auto-starts the MCP server via npx -y @agentled/mcp-server. The same plugin directory also carries the Codex manifest (.codex-plugin/) and Codex lifecycle hooks β€” one bundle, both hosts.

Grok Build plugin

The same portable plugin includes a Grok Build manifest at plugins/agentled/.grok-plugin/plugin.json. It starts the published local stdio MCP server declared in .mcp.json; it does not contain an AgentLed API key, OAuth client secret, workspace ID, or customer data. Authenticate with your own AgentLed CLI profile before installing it in Grok Build, then start with read-only tool discovery. Marketplace submission material is in plugins/agentled/GROK_MARKETPLACE_SUBMISSION.md.

For Codex, the hook pack acts as in-session guidance around the CLI/MCP loop: session start explains the Agentled/Codex business-loop split, prompt/tool hooks add turn-level guidance when client needs, priorities, failures, or product gaps appear, and stop hooks nudge implementation handoffs to include readiness, validation, side effects, and next decision. Hooks do not store feedback, call Agentled APIs, run automations, spend credits, or perform customer/workspace writes. In Codex, run /hooks after installing or changing the plugin so the local hook definitions are reviewed and trusted before they run.

Use Codex automations for outside-workspace FDE cadence such as Outlook/client email follow-up, vendor replies, repo/build checks, and weekly operator reviews. Use Agentled routines for Agentled workspace/runtime checks such as workflow health, routine health, execution review, workspace summaries, and managed-agent operations. Use submit_feedback_to_agentled or agentled feedback submit when the user explicitly wants product feedback captured.

Pick one install path, not both. If you previously ran claude mcp add agentled ... or --setup-skills, remove those before (or instead of) installing the plugin β€” otherwise you get two identical MCP server processes and the skill registered twice. Cleanup: claude mcp remove agentled and delete .claude/skills/agentled/ (or ~/.claude/skills/agentled/). --setup-skills now detects an installed plugin and refuses to double-register unless you pass --force.

To develop the plugin locally:

claude --plugin-dir ./plugins/agentled     # load from source
claude plugin validate ./plugins/agentled  # check manifest + structure

plugins/agentled/skills/ is a generated mirror of skills/ (synced by publish.sh) β€” edit skills/agentled/SKILL.md, never the mirror.

Local development

Use the local built entrypoint when you want to test unpublished changes against a local app. npx -y @agentled/mcp-server always uses the latest published npm package.

cd agentled-mcp-server
npm run build

claude mcp add --transport stdio agentled_local \
  --env AGENTLED_API_KEY=wsk_... \
  --env AGENTLED_URL=http://localhost:8080 \
  -- node /absolute/path/to/agentsled-front/agentled-mcp-server/dist/index.js

Getting your API key

  1. Sign up at agentled.app
  2. Open Workspace Settings > Developer
  3. Generate a new API key (starts with wsk_)

Why Agentled MCP?

One API Key. One Credit System. 100+ Services.

No need to sign up for LinkedIn APIs, email services, web scrapers, video generators, or AI models separately. Agentled handles all integrations through a single credit system.

CapabilityCreditsWithout Agentled
LinkedIn company enrichment50LinkedIn API ($99/mo+)
Email finding & verification5Hunter.io ($49/mo)
AI analysis (Claude/GPT/Gemini)10-30Multiple API keys + billing
Web scraping3-10Apify account ($49/mo+)
Image generation30DALL-E/Midjourney subscription
Video generation (8s scene)300RunwayML ($15/mo+)
Text-to-speech60ElevenLabs ($22/mo+)
Knowledge Graph storage1-2Custom infrastructure
CRM sync (Affinity, HubSpot)5-10CRM API + middleware

Workflows That Learn

Other automation tools start from zero every run. Agentled's Knowledge Graph remembers across executions β€” what worked, what didn't, what humans corrected. Scoring workflows can use compact row-level scoring_profile summaries and bounded scoring-memory retrieval so every run compounds on the last without dumping raw history into prompts.

Run 1:  Investor scoring β†’ 62% accuracy (cold start)
Run 5:  β†’ 78% (learning from IC feedback)
Run 12: β†’ 89% (compound learning from outcomes, zero manual tuning)

Intelligent Orchestration

Unlike trigger-action tools, Agentled workflows have AI reasoning at every step. Multi-model support (Claude, GPT-4, Gemini, Mistral, DeepSeek, Moonshot), adaptive execution, and human-in-the-loop approval gates when needed.

Agent Teams

Agent Teams let you run multiple AI specialists in a single workflow step. Pick a preset and describe what you need β€” the team handles coordination, delegation, and synthesis.

"Add an Agent Team step that researches the company and produces an investment memo"

Six built-in presets cover the most common patterns:

PresetWhat it does
research-and-summarizeSpecialists gather information, one synthesizes a summary
analyze-and-recommendMultiple analysts evaluate options, produce a ranked recommendation
generate-then-reviewA generator drafts content, reviewers critique and refine
compare-optionsSpecialists argue for competing options, coordinator arbitrates
investigate-in-parallelIndependent specialists explore different angles simultaneously
review-and-improveReviewers find issues, an editor applies improvements

When creating Agent Team steps via MCP, include preset metadata so the step opens correctly in the builder:

{
  "id": "analyze",
  "type": "agentOrchestrator",
  "name": "Agent Team",
  "orchestratorConfig": {
    "pattern": "supervisor",
    "workers": [
      { "id": "researcher", "name": "Researcher", "systemPrompt": "Research {{input.company_url}} β€” team, funding, market position" },
      { "id": "analyst", "name": "Analyst", "systemPrompt": "Analyse the research. Identify risks and growth signals." }
    ]
  },
  "metadata": {
    "agentTeamPreset": "research-and-summarize",
    "agentTeamMode": "simple",
    "agentTeamUxVersion": 1
  },
  "next": { "stepId": "milestone" }
}

Existing steps created with raw orchestratorConfig and no metadata continue to work β€” they open in advanced mode in the builder without errors.

Analytics vs ROI semantics

When describing workflow outcomes, keep these terms separate:

  • pipeline.analyticsConfig = business metrics (execution outcome stats shown in Business Metrics cards/charts).
  • pipeline.metadata.roi = ROI assumptions/rollups (time saved and cost-value estimates).

If you update one without the other, name exactly what changed (e.g. "business metrics configured" vs "ROI assumptions configured").

CLI parity guard

The repository includes an automated parity guard so MCP tool additions do not silently drift from the CLI surface.

  • Test: __tests__/cli/cli-mcp-parity.test.ts
  • Docs: docs/CLI_MCP_PARITY.md

Run it with:

yarn test:node -- cli-mcp-parity.test.ts

What Can You Build?

Lead Enrichment & Sales Automation

"Find fintech CTOs in Europe, enrich via LinkedIn + Hunter, score by ICP fit,
draft personalized outreach, save everything to the Knowledge Graph"

Content & Media Production

"Scrape trending topics in our niche, generate 5 LinkedIn posts with AI,
create thumbnail images, schedule publishing for the week"

Company Research & Intelligence

"Research this company from its URL β€” team, funding, market position, competitors.
Generate an investment memo. Store in KG for future reference."

VC Investor Matching (real case study)

"Match this startup against our 2,000+ investor database. Score by sector focus,
stage preference, check size, and portfolio synergy. Compare with last round's outcomes."

3,000+ profiles processed. IC-ready reports. Prediction vs outcome learning β€” accuracy went from 62% to 89% over 12 runs with zero manual tuning.

Built-in Skills And Integrations

Media Production: Video generation, image generation, text-to-speech, auto-captions, media assembly

AI Intelligence: Multi-model AI (Claude, GPT-4, Gemini, Mistral, DeepSeek, Moonshot, xAI), Knowledge Graph, feedback loops, scoring & analytics

Data & Integration: LinkedIn (search, enrich, post), email (send, personalize), web scraping, social publishing, CRM sync, document analysis, OCR

Available Tools

Use-case operating guides

When work starts from an existing workflow ID, call get_workflow first and inspect useCaseContext. Then call get_use_case with the returned key or workflow graph ID, and read any operatingGuides before answering workflow-specific questions, running backfills, or editing live config. Missing guide warnings mean the operating README is not attached yet and the context is incomplete.

When work starts from a user's business goal rather than an existing workflow, use How to Build Use Cases From User Goals. It covers the external-agent lifecycle from bounded chat result to KG text/list state, WorkspaceUseCase, workflows, approval queues, and home summary updates.

Workflows

ToolDescription
list_workflowsList all workflows in the workspace
get_workflowGet full workflow definition by ID, including useCaseContext when linked
get_workflow_creditsGet ledger-derived, period-labelled workflow credit usage; opt in to cost drivers with includeCostDrivers
create_workflowCreate a new workflow from pipeline JSON
update_workflowUpdate an existing workflow (top-level scalars; for context/metadata prefer update_workflow_context)
update_workflow_contextWorkflow-level analog of update_step β€” three explicit verbs (updates / replace / unset) on context.* and metadata.* paths, returns diff + warnings
add_stepAdd a step with automatic positioning and next-pointer rewiring
update_stepDeep-merge updates into a single step by ID
remove_stepRemove a step with automatic next-pointer rewiring
delete_workflowPermanently delete a workflow
validate_workflowValidate pipeline structure, returns errors per step
publish_workflowChange workflow status (draft, live, paused, archived)
export_workflowExport a workflow as portable JSON
import_workflowImport a workflow from exported JSON

Public Form Links

Public form links are the external intake surface for workflows with context.executionInputConfig fields. Use them when people outside the workspace need to submit a workflow form without signing in: inbound lead forms, pitch deck submissions, referral forms, support intake, assessment questionnaires, or any workflow whose first step is a manual/input trigger.

Do not use a public form link for internal child workflows. Child workflows should use context.executionInputConfig.internal: true and be called from another workflow with agentled.call-workflow.

ToolDescription
list_public_form_linksList existing public form links for a workflow
create_public_form_linkCreate and enable a public form link
update_public_form_linkEnable/disable a link or update limits, expiry, auto-share, and thank-you copy. To revoke external access, set enabled: false.

Deletion is intentionally not exposed via the external API or MCP. To revoke a public form link, call update_public_form_link with enabled: false. Permanent deletion requires an authenticated workspace member acting through the UI β€” destructive ops on the form-link surface are not granted to the public API key.

Typical agent flow:

1. get_workflow({ workflowId })
2. Confirm context.executionInputConfig exists and is not internal.
3. list_public_form_links({ workflowId })
4. If none exists, create_public_form_link({ workflowId, enabled: true })
5. Return the publicUrl to the user.

The public URL is /en/forms/{formLinkId}. On submit, Agentled validates the form link, starts the workflow with the submitted input, records a PublicFormSubmission, and increments submissionCount. Optional settings:

  • enabled: disable without deleting the link.
  • expiresAt: ISO datetime expiry.
  • submissionLimit: maximum accepted submissions.
  • autoShare: when true, the public form status page can show generated results after completion. Use this only when the workflow output is safe for the submitter to see.
  • shareExpiresInDays: expiry for auto-shared result links.
  • successMessage: custom thank-you message after submission.

Internal-only Workflows

Mark a workflow as a child / sub-workflow that is only run via agentled.call-workflow from an orchestrator by setting context.executionInputConfig.internal: true. The UI then hides the Run button and replaces the manual run form with an info banner. Inputs are still validated and passed by orchestrators via executionInputData exactly as before β€” this is a UI guard, not a runtime restriction.

Use it for any workflow whose goal/description starts with "Internal sub-workflow", that ends in a return step, or that you only intend to invoke from another workflow.

{
  "context": {
    "executionInputConfig": {
      "title": "Save Sourced Candidates",
      "internal": true,
      "fields": [{ "name": "candidates", "label": "Candidates", "type": "text", "required": true }]
    }
  }
}

Flip the flag via update_workflow_context β€” fetch first, merge locally, replace at the parent level (the merge-order trap from update_step applies here too β€” see docs/MCP_STEP_EDITING.md):

// 1. get_workflow β†’ read context.executionInputConfig
// 2. local: { ...executionInputConfig, internal: true }
// 3.
{
  "updates": { "context": { "executionInputConfig": {...full merged value...} } },
  "replace": ["context.executionInputConfig"]
}

Editing existing workflows: merge model

update_step accepts three explicit operations on the same call. At least one must be non-empty.

  • updates β€” partial step patch, deep-merged ONE LEVEL deep. Top-level scalars are replaced; nested objects (pipelineStepPrompt, stepInputData, etc.) get their direct keys merged with the stored value's keys. Keys nested two levels deep are overwritten as a unit, not merged.
  • replace: string[] β€” dot-paths whose values from updates are assigned wholesale, skipping the deep-merge. Use this for dictionary-shaped fields where keys are user data (not config) β€” patching one inner key with updates alone silently wipes the others.
  • unset: string[] β€” dot-paths to delete. Each path must currently exist on the step (validated against the original).

Read before editing dictionary fields. Before changing stepInputData.fieldUpdates, pipelineStepPrompt.responseStructure, knowledgeSync.fieldMapping, or any field where keys are user data: call get_step({ workflowId, stepId }) (~1KB), modify locally, send the full new object back via replace[]. This avoids the "patched one key, silently wiped the others" trap.

Diff in the response. Every update_step call returns diff: { addedPaths, changedPaths, removedPaths } and warnings[]. If the merge silently removed β‰₯6 fields without an explicit unset, a warning fires.

What to use where:

Path / fieldAPIHow to editNotes
name, goal, description, pipelineStepPrompt.template, creditCostupdate_stepupdatesPlain scalar; safe to send alone.
next, loopConfig, entryConditions (full block)update_stepupdatesDirect nested config; sending the new value wholesale is fine.
tools, integrationsupdate_stepupdatesArrays replace wholesale by design. To append, fetch with get_step, splice locally, send the full new array.
stepInputData.fieldUpdatesupdate_stepget_step β†’ updates (full dict) + replace: ["stepInputData.fieldUpdates"]Keys are user data; default one-level merge replaces this dict and can drop sibling mappings.
pipelineStepPrompt.responseStructureupdate_stepget_step β†’ updates + replace: ["pipelineStepPrompt.responseStructure"]Output-shape dictionary; treat as user data.
knowledgeSync.fieldMappingupdate_stepget_step → updates + replace: ["knowledgeSync.fieldMapping"]Source→target dict; same trap as fieldUpdates.
renderer.config (when preserving sibling keys matters)update_stepupdates (full renderer.config) + replace: ["renderer.config"]⚠ replace: ["renderer.config.layout"] does NOT protect renderer.config's siblings β€” one-level deep-merge runs first on updates.renderer. Replace at the parent level.
entryConditions.criteria (when preserving the rest of entryConditions)update_stepupdates: { entryConditions: {...full block...} }Send the full entryConditions block; one-level merge already does the right thing for direct children.
Removing a step input or stale fieldupdate_stepunset: ["stepInputData.oldKey"]Cleanest way to remove. Path must exist on the original.
context.inputPages, context.outputPages, context.executionInputConfigupdate_workflow_contextThree explicit verbs (updates / replace / unset) on workflow-relative paths. Compatibility: { contextKey, value } still accepted for wholesale per-key replacement.Workflow-level, not step-level. update_step cannot reach context.* and vice versa.
metadataupdate_workflow_contextSame three verbs on metadata.* pathsWorkflow-level. Metadata bypasses the draft snapshot β€” even on live workflows it writes direct to the Pipeline row, immediately.

Executive summaries for workflow groups. When a user asks to save a summary for a workflow, workflow group, cluster, or home card, write it to metadata.executiveSummary with update_workflow_context. Do not store it as Knowledge text unless the user explicitly asks for a reusable note. For a group, write exactly once to the owner pipeline: prefer metadata.workflowGraph.role === "orchestrator", otherwise use the lowest metadata.workflowGraph.order pipeline. Keep the body to 1-2 short sentences, include concrete counts/rates and the reporting period when available, and set author to the active workspace agent, not the external tool/coding agent.

{
  "workflowId": "2e1cdd60-2fcf-441a-856f-583ae76b38a5",
  "updates": {
    "metadata": {
      "executiveSummary": {
        "body": "Startup Outreach sent 46 founder emails for the reporting period, with 28 opens and 9 clicks: a 60.9% open rate, 19.6% click rate, and 32.1% click-to-open rate.",
        "bullets": ["Clicks: 6 UTM Pitch Night, 2 plain Pitch Night, 1 calendar."],
        "generatedAt": "2026-06-03T00:00:00.000Z",
        "author": "AngelHive Assistant"
      }
    }
  }
}

Type changes. step.type is technically mutable but stale type-specific fields (pipelineStepPrompt, app, tools, orchestratorConfig) persist unless you unset them. For clean conversions, prefer remove_step + add_step.

Live workflows. Edits are routed to a draft snapshot. Response includes editingDraft: true. Inspect via get_draft, ship via promote_draft, throw away via discard_draft. For high-stakes edits, create_snapshot first as a manual checkpoint.

Draft staleness. When a draft exists, every update_step and get_step response includes a draft summary with exists, draftCreatedAt, liveUpdatedAt, stale, modifiedStepIds, and modifiedFields. If draft.stale === true, the live workflow advanced after the draft was created β€” promoting will land the draft's older values for fields you didn't touch. update_step also emits a staleness warning. Recovery: discard_draft and re-apply.

Shortened here. Read the whole README on GitHub.

Tools it gives your AI (176)

ToolWhat it does
list_workflowsList all workflows in the workspace. Returns compact workflow summaries plus small metadataSummary fields (analytics, workflowGraph, revision, imports, builder preflight state).
get_workflowGet 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...
get_workflow_creditsGet ledger-derived, period-labelled credit usage for a single workflow. Defaults to period=rolling-30-days. Set includeCostDrivers=true for bounded step/model/app cost drivers.
create_workflowCreate a new workflow. ## KG-First β€” before you write any prompt content If the workflow you're building contains workspace-specific content (investment thesis, ICP criteria, scoring rubrics...
update_workflowUpdate an existing workflow. ## Recommended flow for agent-driven edits For editing an existing workflow step-by-step, prefer the per-step tools β€” they catch errors incrementally and avoid the...
add_stepAdd a new step to a workflow. **This is the recommended path for agent-authored workflows** β€” call `create_workflow({ name, goal })` first, then `add_step` one step at a time, then...
move_stepMove a step to a new position in the workflow's steps array. Provide exactly one target: - `insertAfter`: place the step immediately after the given step ID. - `position: "first"`: place the step...
remove_stepRemove a step from a workflow with optional next-pointer rewiring. When rewireNext is true (default): steps that pointed to the removed step are rewired to the removed step's next target.
update_stepUpdate a single step by ID. Low-level merge primitive β€” prefer surgical tools for common single-path edits: - `replace_step_dictionary` β€” merge keys into `fieldUpdates` / `responseStructure` /...
get_stepRead a single step from a workflow by step ID. Cheap alternative to `get_workflow` (typically ~1KB vs 50-200KB for a full workflow). This returns the configured step definition only.
replace_step_dictionaryPreferred for dictionary-shaped step fields where keys are user data. Merges the provided object keys into the existing dictionary at `path` without dropping sibling keys.
replace_step_pathSet one nested step path to `value` while preserving sibling fields. Preferred for nested config edits such as `renderer.config.layout` where a naive `update_step` patch would wipe sibling config...
unset_step_pathDelete one step path. Thin wrapper around `update_step({ unset: [path] })`. Use for removing a stale input, config key, or leftover type-specific field after a shape change.
append_step_array_itemAppend one item to a step array path without accidentally replacing the whole array with a single-element list. Preferred for `tools`, `integrations`, and similar arrays.
remove_step_array_itemRemove one item from a step array path by `index` or exact `match` value. Provide exactly one of `index` or `match`.
update_workflow_contextSurgical edit of `workflow.context` (and `workflow.metadata`) β€” the workflow-level analog of `update_step`.
delete_workflowPermanently delete a workflow by ID. This cannot be undone. **Two-phase flow (required):** 1. Call with just `workflowId` to get a deletion preview.
validate_workflowValidate a workflow's pipeline definition. Returns structured errors per step. Use this after creating or updating a workflow to check for: - Missing step connections (broken next.stepId...
list_snapshotsList config snapshots for a workflow, paginated across all pages (cap 500). Snapshots are automatically captured before every external API update, allowing you to restore a previous configuration.
get_snapshot_contentRead the full content of a config snapshot WITHOUT restoring it. Returns the captured `steps`, `context`, `name`, `description`, `goal`, `style`, and `analyticsConfig` under a `config` field, plus...
restore_snapshotRestore a workflow to a previous config snapshot. Use list_snapshots first to find the snapshot ID.
create_snapshotCreate 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...
delete_snapshotDelete a specific config snapshot. Use list_snapshots to find snapshot IDs. Useful for freeing up space when the snapshot limit is reached. Requires write access when connected with OAuth.
get_draftGet 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.
promote_draftPromote the draft snapshot to live. This overwrites the live pipeline config with the draft contents, then deletes the draft snapshot.
discard_draftDiscard the draft snapshot for a live workflow. The live pipeline config stays unchanged.
publish_workflowChange 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...
export_workflowExport 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...
import_workflowImport 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.
preview_n8n_importPreview a deterministic n8n import from JSON. Returns: - normalized import hash and IR - mapped step graph - unsupported nodes + remediation - warnings/risks - draft workflow build contract and...
import_n8n_workflowCreate a new Agentled workflow from an n8n JSON import. Behavior: - runs deterministic import preview - creates workflow in preflight draft mode - stores imported contract for review/approval -...
get_step_schemaGet allowed fields and minimal JSON examples for pipeline steps. Unknown fields are automatically stripped on save β€” only fields listed here are persisted. ## Params - `stepType` (optional)...
start_workflowStart 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...
list_executionsList recent executions for a workflow. Returns execution id, pipelineExecutionInputId, status, timestamps.
get_executionGet 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...
list_timelinesList timelines (step execution records) for a specific execution. Each timeline represents a step that ran, with its status, output, and metadata.
get_timelineGet a single timeline (step execution record) by ID. Returns the full timeline including eventContent (step output), status, metadata, and context.
get_workflow_analyticsGet aggregated workflow analytics from persisted snapshots. Use type="business" to retrieve business metrics configured in analyticsConfig, including trackingEvent metrics such as opened/clicked...
list_tracking_eventsList raw tracking events for a workflow, such as email sent/opened/clicked events. Supports filtering by eventType, executionId, timelineId, channel, and createdAt range.
stop_executionStop an active workflow execution. Works on executions with status "running", "pending", or "started"; requires a human-readable reason persisted in execution metadata. Requires write access when...
delete_executionDelete a stopped workflow execution and its related timeline/chat records. EXCEPTION-ONLY admin maintenance tool. Requires an API key with admin:patch scope. Required operator flow: 1.
read_step_outputRead the full output from a previous workflow step. Use this tool when a step output was deferred as a tool reference in a prompt β€” you will see a block like: [Tool Reference: stepName] Size...
rerunRerun or retry any step in a workflow execution. Pass the timelineId β€” the backend derives everything else (workflowId, executionId, stepId) automatically from the timeline record. Works for both...
retry_execution[Deprecated β€” use rerun instead] Retry a failed step in a workflow execution. If no timelineId is provided, the most recent failed timeline is automatically detected and retried.
rerun_step[Deprecated β€” use rerun instead] Rerun a specific step in a workflow execution, regardless of step status (pending, completed, failed, skipped). Works on any step and uses the current live pipeline...
patch_timeline_fieldsSurgically edit a timeline's eventSummary, pending approval eventContent, or metadata fields without rerunning the upstream step.
patch_execution_fieldsSurgically edit a PipelineExecution's metadata, currentStepId, or status without re-running the workflow. EXCEPTION-ONLY tool.
list_appsList 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...
list_connectionsList all connected integrations for the workspace. Returns a unified list of connections from all sources: - OAuth connections (via Composio) - API key connections (e.g., Hunter, Affinity CRM) with...
verify_app_connectionVerify whether a native OAuth connection is currently usable without executing an app action. Returns only a provider-neutral state, safe account label, and checkedAt timestamp.
get_app_actionsGet 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_actionTest 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...
test_ai_actionTest 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...
test_code_actionTest a code step in isolation without creating a workflow or execution. Pass JavaScript code with optional {{variable}} template syntax and variable values to execute in the same sandboxed vm...
get_workspaceGet workspace company info, current authenticated user, team visibility, and knowledge schema overview. Returns currentUser for the API key owner, company details, active team members when...
get_workspace_company_profileGet the workspace company profile and company knowledge text. Returns the company record used for workspace setup plus markdown from knowledge keys company.profile and company.products. Use this...
update_workspace_company_profileUpdate top-level workspace company profile fields. Use this for company identity and summary information such as name, industry, size, logo, website URLs, and company description. Products and...
update_workspace_executive_summaryWrite the workspace-wide executive summary shown on the Workspace Assistant card. Uses the same summary signature as cluster executive summaries: body, optional bullets, and optional author. The API...
list_pinned_outputsList output pages currently pinned to the workspace home/sidebar. Pinned outputs are workspace-level shortcuts to workflow output pages, stored on Workspace.metadata.pinnedOutputs. Use this before...
set_output_page_pinPin or unpin a workflow output page on the workspace home/sidebar. The API validates that the workflow belongs to this workspace and that the output page pathname exists on the workflow. Pin...

Signals

GitHub stars
3
Last commit
Aug 2026
Weekly downloads
168
Weekly_downloads
387 weekly_downloads
Tools captured
176
Advanced
Delivery
mcp-server MCP server β†’ your Ahel connector (mcp.ahel.ai) β†’ your AI.
Item type
mcp-server
Key
io-github-agentled-mcp-server
Source
github.com/agentled/mcp-server