Skip to content

EM Kit MCP

emkit mcp starts a local stdio MCP server backed by the running EM Kit desktop app.

This is the recommended setup if you want AI tools to fetch EM Kit data on demand instead of pasting a large prompt snapshot.

Before configuring MCP:

  1. Install the EM Kit CLI from Settings → Command Line Tool.
  2. Make sure emkit is available in your terminal PATH.
  3. Keep the EM Kit desktop app installed locally.

You can sanity-check the MCP entrypoint directly:

Terminal window
emkit mcp

It will wait for an MCP client on standard input/output. You normally do not run this by hand for day-to-day use — your AI tool launches it automatically.

Claude Code supports local stdio MCP servers.

Add EM Kit as a user-scoped MCP server:

Terminal window
claude mcp add emkit --scope user -- emkit mcp

Verify:

Terminal window
claude mcp list
claude mcp get emkit

If you want the server only in the current project, use:

Terminal window
claude mcp add emkit --scope project -- emkit mcp

Reference: Claude Code MCP documentation

Cursor supports MCP servers through mcp.json.

On macOS and Linux, add this to ~/.cursor/mcp.json:

{
"mcpServers": {
"emkit": {
"type": "stdio",
"command": "emkit",
"args": ["mcp"]
}
}
}

Restart Cursor after saving the file.

If your EM Kit CLI is not on PATH, use the full executable path:

{
"mcpServers": {
"emkit": {
"type": "stdio",
"command": "/Users/your-name/.emkit/emkit",
"args": ["mcp"]
}
}
}

Reference: Cursor MCP documentation

Codex supports MCP configuration in both the CLI and the IDE extension.

Add the EM Kit MCP server with the Codex CLI:

Terminal window
codex mcp add emkit --command emkit --args mcp

Verify:

Terminal window
codex mcp list

You can also configure it directly in ~/.codex/config.toml:

[mcp_servers.emkit]
command = "emkit"
args = ["mcp"]

If emkit is not on PATH, replace command = "emkit" with the full executable path.

Reference: Codex MCP documentation

Read-write tools are annotated so MCP clients can prompt for confirmation before executing them. Tools marked destructive remove data and should always be confirmed.

ToolDescriptionType
emkit_doctorShow EM Kit app and database runtime status.Read
ToolDescriptionType
emkit_list_workspacesList EM Kit workspaces.Read
emkit_get_workspaceGet a single workspace by ID.Read
emkit_get_workspace_summaryReturn a compact read-only summary of a workspace for AI analysis (counts + latest review period).Read
emkit_create_workspaceCreate a new workspace with the given name.Write
emkit_update_workspaceUpdate an existing workspace name.Write
emkit_delete_workspaceDelete a workspace by ID.Destructive
ToolDescriptionType
emkit_list_membersList team members for a workspace.Read
emkit_list_team_membersList team members for a workspace (AI-friendly with limit).Read
emkit_get_memberGet a single team member by ID.Read
emkit_create_memberCreate a new team member (requires workspace_id, name, email).Write
emkit_update_memberUpdate an existing team member.Write
emkit_delete_memberDelete a team member by ID.Destructive
ToolDescriptionType
emkit_list_work_log_entriesList work log entries with filters for category, contributor, and date range.Read
emkit_list_work_logList workspace work log entries, optionally filtered by recency or category.Read
emkit_get_work_log_entryGet a single work log entry by ID.Read
emkit_create_work_log_entryCreate a new work log entry. Accepts links and contributors arrays.Write
emkit_update_work_log_entryUpdate an existing work log entry.Write
emkit_delete_work_log_entryDelete a work log entry by ID.Destructive
ToolDescriptionType
emkit_list_issuesList issues for a workspace, optionally filtered by status, priority, or assignee.Read
emkit_get_issueGet a single issue by ID.Read
emkit_create_issueCreate a new issue. Supports status, priority, assignee, due date, parent issue.Write
emkit_update_issueUpdate an existing issue.Write
emkit_list_issue_commentsList all comments for a specific issue.Read
emkit_create_issue_commentCreate a new comment on an issue (supports `author_type: usercopilot`).
emkit_update_issue_commentUpdate the content of an existing issue comment.Write
emkit_delete_issue_commentDelete an issue comment by ID.Write
ToolDescriptionType
emkit_list_notesList notes for a workspace with filters for note type, member, date range, or recent days.Read
emkit_get_noteGet a single note by ID, including note type, member, and tags.Read
emkit_create_noteCreate a new note (markdown content, optional note type / member / tags).Write
emkit_update_noteUpdate an existing note. note_type_id and member_id are immutable once set.Write
emkit_delete_noteDelete a note by ID.Write
emkit_list_note_typesList all note types (Daily, Meeting, 1:1, …) in a workspace.Read
emkit_get_note_typeGet one note type by ID.Read
emkit_create_note_typeCreate a new note type for a workspace.Write
emkit_update_note_typeUpdate a note type. System note types cannot be modified.Write
emkit_delete_note_typeDelete a note type. Fails if notes reference it or it is system-defined.Destructive
ToolDescriptionType
emkit_list_feedbackList continuous feedback entries for a workspace.Read
emkit_create_feedbackCreate a continuous feedback entry (recognition or improvement).Write
ToolDescriptionType
emkit_list_objectivesList objectives with key results for a team member.Read
emkit_get_objectiveGet a single objective with its key results.Read
emkit_create_objectiveCreate a new objective, optionally with initial key results.Write
emkit_update_objectiveUpdate an existing objective.Write
ToolDescriptionType
emkit_list_one_on_onesList one-on-one meetings for a team member (date, mood, notes, agenda).Read
emkit_get_one_on_oneGet a single one-on-one meeting by ID.Read
ToolDescriptionType
emkit_get_latest_review_periodReturn the latest performance review period and its summaries.Read
emkit_create_review_periodCreate a new performance review period for a workspace.Write
emkit_list_performance_reviewsList performance reviews for a team member.Read
emkit_get_performance_reviewGet a performance review with its peer feedbacks.Read
emkit_create_performance_reviewCreate a new performance review for a member in a period.Write
emkit_update_performance_reviewUpdate a performance review (status, rating, notes).Write
emkit_list_peer_feedbacksList peer feedbacks for a performance review.Read
emkit_get_peer_feedbackGet a single peer feedback by ID.Read
emkit_list_pipsList performance improvement plans for a team member.Read
emkit_get_pipGet a PIP with its check-ins and outcome assessments.Read
ToolDescriptionType
emkit_list_career_path_levelsList all job levels defined in the career path.Read
emkit_update_career_path_levelUpdate a job level (name, identifier, seniority, description, skill expectations).Write
emkit_list_career_path_skillsList all skills defined in the career path.Read
emkit_get_career_path_skillGet a single career path skill, including proficiency levels.Read
emkit_create_career_path_skillCreate a new skill with optional proficiency levels.Write
emkit_update_career_path_skillUpdate an existing career path skill.Write
emkit_get_team_career_positioningCompare team member skill assessments to level expectations.Read
emkit_upsert_member_skill_assessmentCreate or update a member’s skill assessment.Write
ToolDescriptionType
emkit_list_reportsList stored report snapshots for a workspace.Read
emkit_get_reportGet a single stored report snapshot by ID.Read
emkit_delete_reportDelete a stored report snapshot by ID.Destructive
ToolDescriptionType
emkit_create_inbox_itemCreate an inbox item for the engineering manager to review (suggestion, action, or info). Supports dedup_key to avoid duplicates.Write

Once connected, ask the agent to use EM Kit tools explicitly:

Use the EM Kit MCP tools to summarize workspace 1 and identify the top follow-up actions.
Use emkit_list_issues on workspace 1 (status todo,in_progress) and draft a standup update.
Use emkit_get_latest_review_period on workspace 1 and flag any member whose review is still in preparation.
  1. Run which emkit to confirm the CLI is on PATH.
  2. If needed, use the full executable path in your MCP configuration.
  3. Re-run emkit help manually to verify the CLI itself is working.

MCP server starts but no EM Kit data is returned

Section titled “MCP server starts but no EM Kit data is returned”

The MCP server relies on the local EM Kit desktop app runtime.

  1. Open EM Kit manually once.
  2. Run emkit doctor and confirm the expected data directory and workspace count.
  3. Retry the MCP-enabled prompt from your AI tool.