Agentled MCP Server

by agentled

Not rated
GitHub

Description

AI-native workflow orchestration with long-term memory. 100+ integrations through single credit system. 32 MCP tools for building and running intelligent business workflows — lead enrichment, content publishing, company research, media production. Knowledge Graph that learns…

About

AI-native workflow orchestration with long-term memory. 100+ integrations through single credit system. 32 MCP tools for building and running intelligent business workflows — lead enrichment, content publishing, company research, media production. Knowledge Graph that learns across executions. Works with Claude…

Details

Author
agentled
Categories
Productivity, Other, AI, Knowledge Base

Setup

Install Agentled MCP Server in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

Repository: https://github.com/agentled/mcp-server

Follow the installation instructions in the repository README, then restart your MCP client.

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

Agentledis 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.

🧠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.

$ 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.

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

--scope userregisters the server in your user MCP config so it loads ineveryproject (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 projectand.mcp.jsoninstead (Claude Code MCP scopes).

Prefer the plugin if you want the MCP serverandthe 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:

The plugin bundles theagentledskill (workflow-authoring guidance, namespacedagentled:agentled) and auto-starts the MCP server vianpx -y @agentled/mcp-server. The same plugin directory also carries the Codex manifest (.codex-plugin/) and Codex lifecycle hooks — 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/hooksafter 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. Usesubmit_feedback_to_agentledoragentled feedback submitwhen the user explicitly wants product feedback captured.

Pick one install path, not both.If you previously ranclaude 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.

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

plugins/agentled/skills/is a generated mirror ofskills/(synced bypublish.sh) — editskills/agentled/SKILL.md, never the mirror.

Use the local built entrypoint when you want to test unpublished changes against a local app.npx -y @agentled/mcp-serveralways 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

- Sign up atagentled.app
- OpenWorkspace Settings > Developer
- Generate a new API key (starts withwsk_)

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.

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-levelscoring_profilesummaries 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)

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 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:

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 raworchestratorConfigand no metadata continue to work — they open in advanced mode in the builder without errors.

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").

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

yarn test:node -- cli-mcp-parity.test.ts
"Find fintech CTOs in Europe, enrich via LinkedIn + Hunter, score by ICP fit, draft personalized outreach, save everything to the Knowledge Graph"
"Scrape trending topics in our niche, generate 5 LinkedIn posts with AI, create thumbnail images, schedule publishing for the week"
"Research this company from its URL — team, funding, market position, competitors. Generate an investment memo. Store in KG for future reference."
"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.

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

When work starts from an existing workflow ID, callget_workflowfirst and inspectuseCaseContext. Then callget_use_casewith the returned key or workflow graph ID, and read anyoperatingGuidesbefore 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, useHow 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.

Public form links are the external intake surface for workflows withcontext.executionInputConfigfields. 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.

Donotuse a public form link for internal child workflows. Child workflows should usecontext.executionInputConfig.internal: trueand be called from another workflow withagentled.call-workflow.

Deletion is intentionally not exposed via the external API or MCP.To revoke a public form link, callupdate_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.

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 submittedinput, records aPublicFormSubmission, and incrementssubmissionCount. 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.

Mark a workflow as a child / sub-workflow that is only run viaagentled.call-workflowfrom an orchestrator by settingcontext.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 viaexecutionInputDataexactly 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 areturnstep, 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 viaupdate_workflow_context— fetch first, merge locally, replace at the parent level (the merge-order trap fromupdate_stepapplies here too — seedocs/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"] }

update_stepaccepts 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 assignedwholesale, skipping the deep-merge. Use this fordictionary-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.Before changingstepInputData.fieldUpdates,pipelineStepPrompt.responseStructure,knowledgeSync.fieldMapping, or any field where keys are user data: callget_step({ workflowId, stepId })(~1KB), modify locally, send the full new object back viareplace[]. This avoids the "patched one key, silently wiped the others" trap.

Diff in the response.Everyupdate_stepcall returnsdiff: { addedPaths, changedPaths, removedPaths }andwarnings[]. If the merge silently removed ≥6 fields without an explicitunset, a warning fires.

Executive summaries for workflow groups.When a user asks to save a summary for a workflow, workflow group, cluster, or home card, write it tometadata.executiveSummarywithupdate_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: prefermetadata.workflowGraph.role === "orchestrator", otherwise use the lowestmetadata.workflowGraph.orderpipeline. Keep the body to 1-2 short sentences, include concrete counts/rates and the reporting period when available, and setauthorto 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.typeis technically mutable but stale type-specific fields (pipelineStepPrompt,app,tools,orchestratorConfig) persist unless youunsetthem. For clean conversions, preferremove_step+add_step.

Live workflows.Edits are routed to a draft snapshot. Response includeseditingDraft: true. Inspect viaget_draft, ship viapromote_draft, throw away viadiscard_draft. For high-stakes edits,create_snapshotfirst as a manual checkpoint.

Draft staleness.When a draft exists, everyupdate_stepandget_stepresponse includes adraftsummary withexists,draftCreatedAt,liveUpdatedAt,stale,modifiedStepIds, andmodifiedFields. Ifdraft.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_stepalso emits a staleness warning. Recovery:discard_draftand re-apply.

discard_draftonly reverts pending context (and step) changes — NOT metadata.Metadata writes viaupdate_workflow_contextbypass the draft and apply immediately to the live Pipeline row. If you need a single rollback point covering metadata too,create_snapshotbefore the edit. Seedocs/MCP_STEP_EDITING.mdfor the full atomicity contract.

Neversend a fullsteps[]array viaupdate_workflow. Useupdate_step,add_step,remove_stepinstead.

For the deep reference (StepMergeError codes, dot-path validation rules, full diff semantics) seedocs/MCP_STEP_EDITING.md.

Run deep links use/<locale>/<workspace>/<workflowPathname>/runs?runId=<executionId>&step=<stepId>. Thestepquery 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.stepIdis the workflow step id, not the timeline id. Inside the app chat/navigation tool surface,navigateToExecutionPageaccepts the samestepId.

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.

AI step types:aiActionvsaiActionWithTools

Pick the right type —validate_workflowwill reject the wrong one:

aiActionWithToolsrequires at least one tool— placed understep.toolsorstep.agent.tools(both are merged at runtime). If you omit tools from both locations,validate_workflowreturns a blockerAI_STEP_TOOLS_REQUIRED. If the prompt says "search the web" / "recall memory" / "knowledge graph" without the matching tool attached, you get a warningAI_STEP_TOOL_PROMPT_MISMATCH: web-search prompts needweb_search; memory prompts needworkspace_memory; KG lookup prompts needkg_searchorkg_traverse.fetch_website_contentfetches a known URL andkg_writewrites KG data, so neither satisfies those lookup/search prompts.

ValidbuiltinTypevalues:web_search,file_search,code_interpreter,fetch_website_content,kg_search,kg_traverse,kg_nodes,kg_write,workspace_memory.

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:

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.