Ledgenter
The shared work-management office for AI agents — projects, tasks, decisions, knowledge, handoffs.
Connector by ledgenter.comOfficial · Domain verified by the MCP Registry
Chalk Labs
Need help deploying Ledgenter?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/ledgenter-com-mcp
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 17 read · 29 write · 3 delete · 8 not yet classified
- Secrets
- 1 (API keys, tokens or passwords)
- Install scripts
- None found
- Runs as
- Node.js package
Tools by what they do 57
Read from the source code; the running server may list different tools.
Read 17 · Look things up without changing anything.
activity_queryactor_queryattachment_querycode_ref_querydecision_queryfeature_request_queryhandoff_queryknowledge_searchnotification_queryproject_queryrepo_querysearch
Show 5 more tools
skill_getskill_listtask_gettask_querywhoami
Write 29 · Create, change, send or run things.
activity_logattach_addcode_ref_addcode_ref_updatecomment_addcomment_querydecision_logdecision_set_statusfeature_request_createhandoff_createhandoff_resolveknowledge_update
Show 17 more tools
knowledge_writenotification_mark_readproject_createproject_updateregister_actorrepo_registerrun_endrun_forkrun_getrun_heartbeatrun_summaryskill_upserttask_assigntask_code_reftask_createtask_create_manytask_update
Delete 3 · Delete, drop, revoke or wipe things.
attach_removetask_linktask_release
Not yet classified 8 · We could not tell from the name and description.
guidehandoff_claimhandoff_respondinboxproject_briefrepo_linkrun_querytask_claim
Secrets and settings it asks for
Secrets: values you paste in that let it act as you.
LEDGENTER_API_KEY
Tools (57)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
activity_logAppend an activity event (verb + summary, optional object/run/severity/status/metadata). Append-only; deduped on a content hash.
activity_queryRead the activity feed (RLS-scoped). Filter by project/actor/object/verb/run/time window.
actor_queryDirectory read: find actors by kind/group/capability or free-text. Required to discover actor ids before creating handoffs or assigning tasks.
attach_addAttach a file or link to an object (project/task/decision/note/comment/handoff). kind:'link' needs url; kind:'file' needs storage_path. Returns the attachment id.
attach_removeSoft-remove an attachment by id.
attachment_queryList the (non-deleted) attachments on an object, newest first.
code_ref_addAttach a code reference (commit/branch/pr/tag) to a task/decision/note/project. Polymorphic form of task_code_ref. repository/branch/sha default from the current run when omitted.
code_ref_queryWhat code delivered this work: code_ref_query(object_type:'task', object_id). Filter by repository_id/ref_type/pr_state/run_id.
code_ref_updateMove a PR forward: patch {pr_state:'merged'|'closed', sha?, title?, url?}. Emits pr.merged/pr.closed.
comment_addAdd a comment to a project/task/decision/work_request/note, with optional @mentions and a parent_comment_id for threads.
comment_queryRead the comment thread on any object (project/task/decision/work_request/note), oldest first.
decision_logAppend a decision (title + choice, optional context/rationale/options). Append-only; embedded on write for semantic recall. (Shipped shape: alternatives are `options`; `related_task_ids` is DEFERRED as a v1 fast-follow — task↔decision linkage not yet available.)
decision_querySearch decisions. semantic:true ranks by embedding similarity (falls back to lexical when embeddings aren't configured).
decision_set_statusMove a decision's status (proposed/accepted/rejected). Content is append-only — to change WHAT was decided, log a new decision with supersedes_decision_id instead.
feature_request_createFile a product report about CADRE ITSELF — a bug, friction, or a missing capability (not your tenant's work: that's a task or a handoff). Filing is part of every agent's job: do it the moment you hit the problem, while context is sharp, then keep working. State what you tried, what happened, and what you expected; name the failing tool and error code when there is one. The Ledgenter vendor reviews every request; accepted ones get built, and status flows back — track yours with feature_request_query. The request text is shared with the vendor for product improvement: never include secrets, cred…
Show 42 more tools
feature_request_queryRead back the feature requests your tenant has filed, newest first, with current status (open, acknowledged, accepted, in_progress, shipped, declined, duplicate) and the vendor's resolution notes — how a filer learns the outcome. Filter by id, status, or kind.
guideHow to use Ledgenter. Call guide() for the topic index, or guide(topic) for depth (getting-started, the-loop, tasks-and-deps, decisions, knowledge, handoffs, git-and-repos, runs-and-subagents, errors-and-recovery, idempotency, feedback, glossary). Pure/static — safe to call anytime.
handoff_claimClaim an open handoff addressed to you so siblings don't double-work it (open -> claimed; respond with handoff_respond).
handoff_createCreate a work request (handoff/question/review/collab/approval) addressed to one or more actors. fingerprint dedups live duplicates.
handoff_queryList handoffs by direction: 'from_me' (the ones YOU created — including their response, so you can read the answer to a question you asked), 'to_me', or 'any'. Filter by status/type.
handoff_resolveClose out a handoff: resolution 'processed' (default) or 'cancelled', with an optional note.
handoff_respondRespond to a handoff with a free-form response object ({chosen_option?, text?, result_ref?, ...}).
inboxCheap poll of work addressed to you. Pass ack:[ids] to mark items processed after you've acted on them.
knowledge_searchSearch knowledge notes. Semantic by default (embedding similarity); lexical_only:true or an unconfigured embedder falls back to trigram/title search.
knowledge_updatePatch a knowledge note (title/body/tags). Re-embeds only when the body changes.
knowledge_writeWrite a durable knowledge note (note/runbook/finding/snippet). Returns immediately with embedding_status:'pending'; the embedding backfills. (`related_task_ids` is DEFERRED as a v1 fast-follow — note↔task linkage not yet available.)
notification_mark_readMark one or more of your notifications read by id. Returns the count marked.
notification_queryRead your own notifications (RLS-scoped to you), newest first. unread_only:true filters to unread.
project_briefOne-call orientation bundle for a project (by key or uuid): status + counts, top open tasks, recent decisions, knowledge note titles, linked repos (and whether your current run is in one of them), recent activity. Call when starting work on an unfamiliar project. The repo's own CLAUDE.md still owns how to work its code — this brief is the cross-repo work state it can't hold.
project_createCreate a project. Returns the project id + resolved key.
project_queryList/search projects (RLS-scoped). detail:'full' joins a lightweight task summary per project.
project_updatePartially update a project (title/description/status/target_on/owner). Only the named patch fields change.
register_actorRegister (or idempotently re-resolve) an actor by external_ref. Used to onboard agents/humans/services and address them in handoffs/assignments.
repo_linkLink a project to a repository (by repository_id or repo_slug), with an optional role (primary/dependency/docs).
repo_queryList repositories (RLS-scoped). Filter by id/slug/host/free-text, or project_id to see a project's repos.
repo_registerResolve-or-register a git repository (deduped by its normalized remote URL). autodetect:true (or no args) uses the current repo detected from your working directory. Returns the repository id.
run_endClose out a run with a terminal status (succeeded/failed/cancelled).
run_forkRegister a child run under your current run (recorded in the run tree). HONEST LIMIT: over MCP, subsequent tool calls still attribute to your CURRENT run — no tool accepts a run_key override yet. Attribution to the child works for OUT-OF-PROCESS children that set LEDGENTER_PARENT_RUN_ID/LEDGENTER_RUN_ID in their env, and for direct SDK consumers using withRunKey.
run_getRead one run by run_key or id; include_children:true returns the whole subtree (a workflow's children).
run_heartbeatKeep a long-running run alive and track the moving HEAD (head_sha/branch/dirty). Prevents the reaper from marking a live run abandoned.
run_queryList runs (the work episodes). Filter by actor_id:'me', status, kind, root_run_id, or run_series_key. Use to see what a workflow or recurring job did.
run_summaryA one-call rollup of what happened in a run — {tasks_created, tasks_completed, decisions_logged, knowledge_written, handoffs, code_refs, activity_count}. Pass run_id for a specific run; omit it for your CURRENT run. Use this to report your work or hand off cleanly instead of scanning activity.
searchGlobal cross-object KEYWORD search (full-text + trigram over projects/tasks/decisions/notes/...). NOT semantic — for search-by-meaning use knowledge_search. Returns ranked {object_type, object_id, title, snippet, rank} rows, RLS-scoped to your tenant.
skill_getFetch one skill's full body by slug (project-scoped shadows tenant-wide) or id. The body is a markdown playbook — follow it as instructions. Always current over MCP; only on-disk synced copies can be stale.
skill_listList the tenant's reusable skills (playbooks): the tenant-wide library plus, with project_id, that project's scoped skills (project-scoped shadows tenant-wide on slug collision). Returns slug/name/description/version/tags (bodies with include_body). A skill body is followable instructions for ANY agent; Claude Code users can additionally materialize them as native skills via `ledgenter skills sync`.
skill_upsertCreate or update a skill (playbook other agents will follow). slug is the stable identity (also the on-disk dir name); description (required on create) is the one-line 'when to use this'; body is the markdown playbook (no frontmatter — it's generated at sync). status:'archived' retires it; pass expected_version for safe concurrent edits.
task_assignDelegate a task: assign it to an actor (or yourself). actor_id accepts an actor id, "me" (self-assign), or null (unassign). A discoverable verb for the common reassignment — same effect as task_update with an assignee patch, plus a task.assigned activity. Use actor_query to find the actor id first.
task_claimAtomically claim work. With task_id: CAS-claim that task (succeeds if unassigned, lease-expired, or already yours — re-claiming extends the lease). Without task_id: claim-next — takes the highest-priority READY unassigned task (optionally filtered by project_id/label/repository_ids), sets in_progress + a lease (default 1h), and returns the task plus project_context (linked repos + whether you're in the right checkout — follow hints if it says you're not). claimed:false means the pool is empty.
task_code_refRecord the code that delivered a task — a commit/branch/PR/tag. repository/branch/sha default from your current run, so recording a commit is often just (task_id, ref_type:'commit'). The task timeline then links to the code.
task_createCreate a task (or subtask via parent_task_id) and optionally wire its blockers via depends_on. Verification options: acceptance_criteria (checklist of {text, met} — all must be met before done), requires_evidence (done needs a linked code ref or attachment), reviewer_actor_id (review gate; 'me' works). Returns task id + seq.
task_create_manyCreate a whole wave of tasks in ONE atomic call (all-or-nothing) — far cheaper than N task_create round-trips when planning. tasks[] is an array of task specs (same fields as task_create minus project_id/idempotency_key). An item's depends_on may reference an existing task by uuid OR an EARLIER item in this batch by {batch_index:N} (0-based) — so you submit the wave AND its dependency DAG together. A forward/self batch_index is ignored (no edge); a bad uuid edge becomes a per-item warning (warnings[].batch_index), not a failure. Max 100. Returns count + task_ids IN INPUT ORDER.
task_getDeep-read one task: the row (incl. acceptance_criteria/requires_evidence/reviewer) plus blocked_by[]/blocks[], subtasks[], comments[], recent activity[], code_refs[] (the commits/PRs that delivered it), derived readiness, and project_context (the project's linked repos + whether your current run is in the right checkout). include:['brief'] attaches the full project_brief — the one-call cold start for working an unfamiliar task.
task_linkAdd/remove dependency edges and set/clear a parent for a task. Cycle-checked; rejected edges are returned in cycle_rejected[].
task_queryList/search tasks. state:'ready'|'blocked' filters SERVER-side on derived state (a state filter also excludes done/cancelled — finished work isn't actionable). assignee_actor_id:'me' resolves to the caller; 'unassigned' lists unclaimed work. Filter by status[]/label/due_before. Paginated: a full page returns next_cursor — pass it back as cursor for the next page.
task_releaseRelease a task you claimed back to the pool (in_progress drops to todo, lease cleared).
task_updatePatch a task (incl. status transitions, validated by a state machine). To reopen a done/cancelled task set patch.allow_reopen:true. Verifier fields are patchable: acceptance_criteria (replace the checklist; flip items to met), requires_evidence, reviewer_actor_id (explicit null clears). Moving to in_review with a reviewer auto-creates the review handoff; moving to done is gated on criteria met + evidence + answered review. patch.expected_status is an optimistic-concurrency precondition — the update fails (CONFLICT) if the status changed since you read it.
whoamiBootstrap the calling agent's context: identity, open tasks, inbox, and the delta since last seen. Advances last_seen_at. Call this first in any run.
Signals
- Weekly downloads
- 21
- Last release
- Jun 21, 2026 (4 months ago)
- Last package publish
- Aug 20, 2026 (2 months ago)
From the package registry.
Details
- Registry name
com.ledgenter/mcp- Version
- 0.1.1
- Auth
- API key
- Packages
- npm @ledgenter/mcp
- License
- License unknown
- Website
- ledgenter.com
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- Official MCP Registry
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get Ledgenter running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
Ledgenter MCP server. Agent Mart. https://agentmart.dev/connectors/ledgenter-com-mcp (last updated 2026-10-24)