
Agentled
io.github.AgentledPublished by GitHub account Agentledv0.20.1Updated Oct 24, 2026
Intelligent AI workflow orchestration with long-term memory, 100+ integrations, and unified credits.
Overview
AgentLed MCP server lets an assistant build, edit, run and monitor AgentLed workspace workflows, knowledge lists and integrations from a local stdio process.
- What you can do
- Create, edit, validate, publish, import and export workflows, including step and context path edits
- Start, list, inspect, stop, retry and rerun executions, and read step timelines
- Manage drafts, snapshots and restore points for workflow configuration
- Create and manage public form links for external workflow intake
- Read and write workspace knowledge lists, rows, text, company profile and saved views
- List apps and connections, inspect action schemas, and test app, AI and code actions in isolation
- When to use it
- Useful when you want an assistant to author or maintain AgentLed automation workflows, run and debug executions, or manage workspace knowledge and integrations without switching to the web UI. Also handy for teams that want workflow configuration changes made conversationally from Claude Code or Codex.
- Requirements
- Runs locally over stdio, typically via npx with the published npm package, so Node.js is needed. Requires an AgentLed account and an API key supplied in the AGENTLED_API_KEY environment variable, generated in Workspace Settings > Developer. Desktop only; network access to AgentLed is required.
Installation
In SourceWeft
- Open Agentled in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
@agentled/mcp-server
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
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
--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:
Then set your API key in the shell Claude Code runs from:
Codex plugin (one-step install)
The same repository is a Codex marketplace. Install the Agentled plugin with:
Then set AGENTLED_API_KEY=wsk_... in the shell that launches Codex and start a
new task. The plugin bundles the Agentled skills, starts the MCP server through
npx -y @agentled/mcp-server, and loads its lifecycle hooks from the standard
hooks/hooks.json path.
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 carries both Claude Code and Codex manifests — one bundle, both hosts.
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 agentledand delete.claude/skills/agentled/(or~/.claude/skills/agentled/).--setup-skillsnow detects an installed plugin and refuses to double-register unless you pass--force.
To develop the plugin locally:
plugins/agentled/skills/is a generated mirror ofskills/(synced bypublish.sh) — editskills/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.
Getting your API key
- Sign up at agentled.app
- Open Workspace Settings > Developer
- 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.
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.
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.
Six built-in presets cover the most common patterns:
When creating Agent Team steps via MCP, include preset metadata so the step opens correctly in the builder:
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:
What Can You Build?
Lead Enrichment & Sales Automation
Content & Media Production
Company Research & Intelligence
VC Investor Matching (real case study)
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
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.
Deletion is intentionally not exposed via the external API or MCP. To revoke a public form link, call
update_public_form_linkwithenabled: 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:
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.
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):
Editing existing workflows: merge model
Prefer the surgical path tools for common single-path edits — they call get_step when needed and map to the same merge contract:
replace_step_dictionary— dictionary key merges (fieldUpdates,responseStructure,fieldMapping)replace_step_path— nested path sets that must preserve siblingsunset_step_path— delete one pathappend_step_array_item/remove_step_array_item— array mutations
Keep raw update_step for complex multi-path edits. It 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 fromupdatesare assigned wholesale, skipping the deep-merge. Use this for dictionary-shaped fields where keys are user data (not config) — patching one inner key withupdatesalone 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. Prefer replace_step_dictionary. With raw update_step, call get_step({ workflowId, stepId }) (~1KB), modify locally, send the full new object back via replace[].
Diff in the response. Every update_step / surgical-tool 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:
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.
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.
⚠ discard_draft only reverts pending context (and step) changes — NOT metadata. Metadata writes via update_workflow_context bypass the draft and apply immediately to the live Pipeline row. If you need a single rollback point covering metadata too, create_snapshot before the edit. See docs/MCP_STEP_EDITING.md for the full atomicity contract.
Never send a full steps[] array via update_workflow. Use surgical path tools, update_step, add_step, remove_step instead.
For the deep reference (StepMergeError codes, dot-path validation rules, full diff semantics) see docs/MCP_STEP_EDITING.md.
Drafts & Snapshots
Executions
Run deep links use /<locale>/<workspace>/<workflowPathname>/runs?runId=<executionId>&step=<stepId>.
The step query param is optional only for run-level handoffs. When a response
points to a specific approval card, output, failure, or current step, include
&step=<stepId> and do not ask the human to open the step manually after a
run-only URL. When present, the app expands that workflow step and scrolls to
it. stepId is the workflow step id, not the timeline id. Inside the app
chat/navigation tool surface, navigateToExecutionPage accepts the same
stepId.
Knowledge row deep links use /<locale>/<workspace>/knowledge-and-data/<listKey>?rowId=<rowId>.
The app opens the Knowledge & Data list page and opens the row editor sheet for
that row. The backwards-compatible route
/<locale>/<workspace>/knowledge-and-data/<listKey>/row/<rowId> redirects to the
canonical query-param URL.
Knowledge text deep links use /<locale>/<workspace>/knowledge-and-data/<key>.
The backwards-compatible route
/<locale>/<workspace>/knowledge-and-data/text/<key> redirects to the canonical
item URL.
Apps & Testing
AI step types: aiAction vs aiActionWithTools
Pick the right type — validate_workflow will reject the wrong one:
aiActionWithTools requires at least one tool — placed under step.tools or step.agent.tools (both are merged at runtime). If you omit tools from both locations, validate_workflow returns a blocker AI_STEP_TOOLS_REQUIRED. If the prompt says "search the web" / "recall memory" / "knowledge graph" without the matching tool attached, you get a warning AI_STEP_TOOL_PROMPT_MISMATCH: web-search prompts need web_search; memory prompts need workspace_memory; KG lookup prompts need kg_search or kg_traverse. fetch_website_content fetches a known URL and kg_write writes KG data, so neither satisfies those lookup/search prompts.
Valid builtinType values: web_search, file_search, code_interpreter, fetch_website_content, kg_search, kg_traverse, kg_nodes, kg_write, workspace_memory.
Prompt caching for repeated AI steps
Agentled enables provider prompt caching where supported. Caching reuses prompt processing for an identical prefix; it does not cache or replay the AI response. To benefit in bulk workflows, especially scoring/matching loops, write prompts with the stable material first:
Do not start high-volume prompts with INPUTS, {{currentItem}}, {{steps.*}}, {{input.*}}, {{execution.id}}, {{now}}, or {{today}}. Keep changing payloads, dates, execution IDs, and per-item records at the end so OpenAI/Anthropic can cache the shared prefix.
Knowledge & Data
Credits and Cost Drivers
Credit reporting tools are opt-in for cost-driver detail so existing balance checks stay compact.
Every credit total is ledger-derived and returned with a period object containing label, display, start, and end; always show that period label next to totals.
For a human/operator UI check, open the workspace credit usage page:
Example: https://www.agentled.app/en/inovexus/account/billing/credits-usage.
Supported periods:
rolling-30-days: moving 30-day window ending at request time.rolling-7-days: moving 7-day window ending at request time.current-month/month-to-date: UTC calendar month-to-date, not the billing renewal period.previous-month: prior UTC calendar month.all-time: full ledger before the request time; use intentionally because it can scan more rows.
Examples:
External API equivalents:
Billing-period reporting is separate from calendar-month reporting and should not be implied unless a future API adds an explicit billing-period label.
Branding (Whitelabel)
Agents
First-class workspace AI Agents with identity, instructions, tools, config files, and assigned workflows. All agents are conversational by default. For scheduled/autonomous work, attach routines via create_routine to create an AI Agent with routines. SOUL.md and TOOLS.md live in configFiles; reflection context (JOURNAL.md, OBJECTIVES.md, PEOPLE.md) lives as linked AgentFiles and is auto-seeded for active AI Agents using reflection. Agents decide what durable signal belongs in those files; AgentLed only provides scoped storage and scheduled Reflection. An agent created entirely via MCP renders identically to one built in the Agent Wizard.
Slug convention: slug is the short role ID used in URLs and email addresses. Keep Agent in the display name when useful, but do not append -agent to the slug just because the display name includes it; for example, Deal Sourcing Agent should use deal-sourcing@{workspace}.agentled.ai, not deal-sourcing-agent@{workspace}.agentled.ai.
Built-in app result cache
Separate from prompt caching: many app actions reuse prior results via workspace KnowledgeRow defaults. See the Agentled skill section Built-in app result cache (skills/agentled/SKILL.md). MCP rerun tools default forceWithoutCache: true.
Agent Files
Reflection files follow the same durable markdown pattern used by OpenClaw and Hermes memory surfaces: keep JOURNAL.md as a concise dated log, OBJECTIVES.md as active/completed goals, and PEOPLE.md as stable relationship context. Read first, update only when there is durable signal, and send full replacement content. See docs/AGENT_REFLECTION_FILES.md for the UI, MCP, and CLI editing contract.
Routines
Routines are scheduled prompts attached to an agent — the agent evaluates the prompt on a set interval and can trigger workflows or send notifications.
Example — add a daily deal-sourcer routine to an existing agent:
Read access is implicit and never requires approval. The internal agentled app is selected as an app when needed but is not configurable in appPermissions.
Interval values: weekday-morning, weekday-evening, weekly-monday, weekly-tuesday-evening, weekly-friday-evening, daily, monthly, 6h, 48h.
Deprecated Low-Level Runtime
Direct low-level monitor-runtime MCP tools are deprecated and no longer
registered. Use create_agent / update_agent plus routines for autonomous
work.
Channels (Email, Slack, WhatsApp, Signal)
Channels route inbound messages into the agent chat runtime. Each channel has a defaultAgentId that decides which agent handles the conversation. Replies are sent back through the originating channel.
Secret credentials (Slack bot tokens, signing secrets, WhatsApp access tokens, Signal webhook secrets) are NEVER readable or writable via the external API. Connect those via Settings → Channels in the UI — OAuth flows store them encrypted at rest.
Conversational Agent
Chat Tool — Usage & Examples
The chat tool is a conversational AI agent that can reason, plan, and build workflows through dialogue. Think of it as the difference between gh api (raw) and gh copilot (intelligent).
Parameters:
Response format:
Multi-turn conversation:
When to use chat vs structured tools:
Notes:
- 5-minute timeout — break complex requests into smaller steps if needed
- Responses are non-streaming (collected then returned) for MCP client compatibility
- The agent has full access to planning tools, workflow builder, and workspace context
- Error responses include actionable messages (e.g., timeout → "try breaking it into smaller steps")
Intent Router
Help & Feedback — Talk to the Agentled Team
For AI agents — pick the right channel:
Do not search npm metadata, scrape GitHub, or shell out to
ghto "find" a bug tracker — the routes above are the only ones. Thebugsfield in the package points at the human contact page (https://www.agentled.ai/en/contact-us) on purpose.
For humans: email [email protected] or visit https://www.agentled.ai/en/contact-us.
Coming from n8n?
Import existing n8n workflows and make them AI-native:
Looking Up Entity-Scoped Data
When you need all records related to a specific entity, use the two-tool chain instead of paginating get_knowledge_rows:
Example 1 — all deals scored by an investor:
Example 2 — all leads sourced from a campaign:
Why this matters: get_knowledge_rows is limited to 200 rows per call. At 3k rows that means 15 round trips; at 10k it means 50. The KG-edge path is O(edges for that entity) — independent of total list size — so it stays fast regardless of how large the list grows.
Node ID convention: source_node_id and target_node_id values from query_kg_edges are knowledge row IDs. Rows outside the authenticated workspace are silently excluded.
For Agencies: White-Label Ready
Build workflows once, deploy to multiple clients under your own brand. Configure branding directly from the MCP server:
Use get_branding and update_branding to manage displayName, logo, colors, favicon, tagline, and badge visibility. Client portal appearance updates instantly.
Persistent Memory — Examples
Memories let workflows learn across executions. Store what worked, recall it next time.
Store a fact after enrichment
Recall before scoring
Search for past outcomes
Track a running metric
Each subsequent call with merge: 'increment' adds to the existing value — no read-modify-write needed.
Outreach PCPL
For email or outbound workflows, track PCPL as a business metric:
Use analyticsConfig for contacted prospects, positive replies, and PCPL. Literal PCPL should use a ratio metric with ratioMode: "raw"; positive reply rate should use the default percentage ratio.
Routines — Examples
Routines are scheduled prompts attached to agents. Use them for autonomous work such as daily checks, weekly digests, and workflow follow-up.
Create an agent with a daily sourcing routine
Tool sequence:
Create a weekly workflow health routine
Pause and resume
Works With
- Claude Code (Anthropic)
- Codex (OpenAI)
- Cursor
- Windsurf
- Any MCP-compatible client
Links
Building from Source
License
MIT
Source: README.md at commit d42aa80
Tools
0Version history
3- v0.20.1LatestOct 16, 2026
- v0.20.0Oct 9, 2026
- v0.19.3Sep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts