Skip to main content
Glama
Mad-Man-Dan

Karbon MCP Server

by Mad-Man-Dan

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
PORTNoHTTP mode only: port to listen on (default 8787; --port wins)8787
KARBON_READ_ONLYNoSet to 'true' to disable all create/update toolsfalse
KARBON_ACCESS_KEYYesAccess key (JWT) from Karbon Connected Apps (required)
KARBON_HTTP_SECRETNoHTTP mode only: secret path segment for the endpoint (/mcp/<secret>)
KARBON_API_BASE_URLNoOverride the API base URLhttps://api.karbonhq.com/v3
KARBON_BEARER_TOKENYesBearer token from Karbon Connected Apps (required)

Capabilities

Features and capabilities supported by this server

CapabilityDetails
tools
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
list_contactsA

List or search person contacts in Karbon. Supports OData filtering, e.g. filter: "contains(FullName,'Smith')" or "ContactType eq 'Client'".

get_contactA

Get a single person contact by ContactKey, optionally expanding related data (BusinessCards, AccountingDetail, ClientTeam).

create_contactC

Create a new person contact in Karbon.

update_contactA

Update fields on an existing person contact (partial update via PATCH). Only include the fields you want to change.

list_organizationsA

List or search organization contacts in Karbon. Supports OData filtering, e.g. filter: "contains(FullName,'Acme')".

get_organizationA

Get a single organization by OrganizationKey, optionally expanding related data (BusinessCards, AccountingDetail, ClientTeam, Contacts).

create_organizationB

Create a new organization contact in Karbon.

update_organizationB

Update fields on an existing organization (partial update via PATCH). Only include the fields you want to change.

list_work_itemsA

List or search work items (jobs/engagements) in Karbon. Useful filters: "PrimaryStatus eq 'InProgress'", "AssigneeEmailAddress eq 'user@firm.com'", "DueDate lt 2026-08-01". PrimaryStatus values: Planned, ReadyToStart, InProgress, Waiting, Completed.

get_work_itemB

Get a single work item by WorkItemKey.

create_work_itemA

Create a new work item in Karbon. WorkType and status values are tenant-specific — call get_tenant_settings first if unsure.

update_work_itemA

Update fields on an existing work item (partial update via PATCH). Only include the fields you want to change.

get_noteB

Get a single note by its NoteID.

create_noteA

Create a note in Karbon, optionally linked to work items, contacts, organizations, or client groups via timelines. Notes linked to a work item also appear on the client's timeline.

list_timesheetsA

List timesheets (read-only). Useful filters: "StartDate ge 2026-07-01", "UserKey eq '...'".

get_timesheetA

Get a single timesheet by TimesheetKey, optionally expanding TimeEntries.

list_time_entriesA

List individual time entries (read-only). Useful for reporting on time logged against clients or work items.

list_usersB

List Karbon users (team members) on this account.

get_userA

Get a single Karbon user by their UserId.

get_tenant_settingsA

Get this Karbon account's configuration: valid work statuses (secondary statuses), work types, and contact types. Call this before creating or updating work items or contacts with tenant-specific values.

list_work_templatesA

List work templates available on this account. Use a WorkTemplateKey with create_work_item to create templated work.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Mad-Man-Dan/karbon-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server