Skip to main content
Glama

Zenkit MCP Server (Raw API)

Direct Zenkit API access for Claude Desktop. Full control via single universal tool.

Installation

Quick Start

git clone https://github.com/wbgrds/mcp-zenkit.git
cd mcp-zenkit
npm install
npm run build

Claude Desktop Configuration

Edit ~/.config/Claude/claude_desktop_config.json (macOS/Linux) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "zenkit": {
      "command": "node",
      "args": ["/path/to/mcp-zenkit/dist/index.js"],
      "env": {
        "ZENKIT_API_KEY": "your-zenkit-api-key"
      }
    }
  }
}

Get your API key from Zenkit Developer Settings.

Restart Claude Desktop after configuration.


Related MCP server: TickTick MCP Server

Usage

Single tool: zenkit(method, path, body)

Get Workspaces

zenkit('GET', '/workspaces')

Response: All workspaces + lists

Get Lists in Workspace

zenkit('GET', '/workspaces/123')

Get List Fields (Elements)

zenkit('GET', '/lists/123/elements')

Returns: Field names, UUIDs, types, predefined values (for categories)

List Entries

zenkit('POST', '/lists/123/entries', {
  limit: 100,
  skip: 0
})

Create Entry

zenkit('POST', '/lists/123/entries', {
  title: "My Task",
  description: "Optional description",
  properties: {
    "field-uuid-1": "value",
    "field-uuid-2": 123,
    "field-uuid-3": ["array", "of", "values"]
  }
})

To find field UUIDs: zenkit('GET', '/lists/123/elements')

Update Entry

zenkit('PATCH', '/lists/123/entries/entry-uuid', {
  title: "Updated Title",
  properties: {
    "field-uuid": "new-value"
  }
})

Delete Entry

zenkit('DELETE', '/lists/123/entries/entry-uuid')

Architecture

Version 2.0 (Approach B: Raw API)

  • One universal tool zenkit(method, path, body)

  • Direct pass-through to Zenkit API

  • No abstraction layer, no hidden logic

  • Token-based auth = full account control

What changed from v1:

  • Removed: zenkit_create_entry, zenkit_update_entry, zenkit_get_entries, etc.

  • Added: Single zenkit tool for all operations

  • Benefit: Works for any Zenkit API endpoint (present + future)


API Reference

Full Zenkit API docs: https://zenkit.com/api/

Common Endpoints

Operation

Method

Path

Body

List workspaces

GET

/workspaces

Get workspace

GET

/workspaces/{id}

List entries

POST

/lists/{id}/entries

{limit, skip}

Get fields

GET

/lists/{id}/elements

Create entry

POST

/lists/{id}/entries

{title, properties}

Update entry

PATCH

/lists/{id}/entries/{uuid}

{title, properties}

Delete entry

DELETE

/lists/{id}/entries/{uuid}


Examples

Workflow: Create and Update

1. zenkit('GET', '/workspaces')
   → Find workspace ID

2. zenkit('GET', '/lists/123/elements')
   → Find field UUIDs you need

3. zenkit('POST', '/lists/123/entries', {
     title: 'New Task',
     properties: { 'field-uuid': 'value' }
   })
   → Create entry, get entry UUID back

4. zenkit('PATCH', '/lists/123/entries/entry-uuid', {
     title: 'Updated Task'
   })
   → Update the entry

Working with Categories (Dropdowns)

When predefinedValues are present in get_list_fields response, they are category options:

{
  "name": "Status",
  "uuid": "a1b2c3d4-...",
  "predefinedValues": [
    { "id": 1, "name": "Draft" },
    { "id": 2, "name": "In Progress" },
    { "id": 3, "name": "Done" }
  ]
}

Use the id value when setting properties:

zenkit('POST', '/lists/123/entries', {
  title: 'Task',
  properties: {
    'a1b2c3d4-...': 2  // ← Category ID for "In Progress"
  }
})

Troubleshooting

Error: "ZENKIT_API_KEY is required"

Make sure environment variable is set:

  • Check claude_desktop_config.json has ZENKIT_API_KEY in env

  • Restart Claude Desktop

  • Check API key is valid (from Zenkit Developer Settings)

Error: "Zenkit API error 404"

Path is wrong or resource doesn't exist.

  • Check path syntax: /lists/123/entries (not lists/123/entries)

  • Verify list ID, entry UUID, etc. exist

  • Use zenkit('GET', '/workspaces') to discover IDs

Error: "Field UUID not found"

When setting properties, make sure UUID is correct:

zenkit('GET', '/lists/123/elements')  // Get correct UUIDs first

Environment Variables

  • ZENKIT_API_KEY (required): Zenkit API token

  • ZENKIT_API_BASE (optional): Override API base URL (default: https://base.zenkit.com/api/v1)


Development

# Install dependencies
npm install

# Build TypeScript
npm run build

# Run locally (requires ZENKIT_API_KEY env var)
ZENKIT_API_KEY=xxx npm run start

License

MIT

Support


Complete Documentation

Install Server
F
license - not found
A
quality
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Tools

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/wbgrds/mcp-zenkit'

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