Skip to content

MCP Overview & Setup

kendo exposes a Model Context Protocol (MCP) server that lets AI coding assistants manage project work directly from the terminal. Create issues, log time, plan sprints, and search your board — all through natural language.

What is MCP?

MCP is an open protocol that standardizes how AI applications connect to external tools and data sources. Instead of copy-pasting issue IDs or switching between browser tabs, your AI assistant reads project context and takes actions on your behalf.

kendo's MCP server provides:

  • 15 tools — create, update, search, and delete issues, time entries, epics, sprints, comments, and branch links
  • 10 resources — read-only access to projects, issues, lanes, sprints, epics, members, teams, and GitHub repos

Authorization & Security

All MCP data is scoped to the authenticated user's role and team access. You only see projects, issues, and data you're authorized to access in the UI — this isn't just filtering, it's programmatic enforcement through Laravel Gates and project accessibility checks.

  • OAuth tokens carry an mcp:use scope that limits what the token can do
  • Project access is checked on every request — you can only interact with projects assigned to your teams
  • Entity permissions are enforced per-action: creating sprints requires Team Lead+, deleting epics requires Manager+, updating comments requires authorship or Team Lead+
  • Rate limiting prevents abuse via the throttle:mcp middleware
  • Audit logging records every tool invocation with user, project, tool name, and status

Server URL

The MCP server URL is tenant-specific:

https://{tenant}.kendo.dev/mcp/kendo

Replace {tenant} with your organization's subdomain (e.g., https://acme.kendo.dev/mcp/kendo).

Setup: Claude Code

The quickest way to add kendo is via the CLI:

bash
claude mcp add kendo --transport http https://{tenant}.kendo.dev/mcp/kendo

Or add it manually to your configuration file:

json
{
  "mcpServers": {
    "kendo": {
      "url": "https://{tenant}.kendo.dev/mcp/kendo",
      "headers": {
        "Accept": "application/json, text/event-stream"
      }
    }
  }
}

When you first connect, Claude Code will open a browser window for OAuth authentication. After authorizing, the token is stored locally and refreshed automatically.

Setup: Cursor

In Cursor, go to Settings → MCP Servers and add:

  • Name: kendo
  • Type: sse
  • URL: https://{tenant}.kendo.dev/mcp/kendo

Cursor will prompt for OAuth authorization on first use.

OAuth Flow

kendo uses OAuth 2.0 for MCP authentication:

  1. Your AI client requests authorization from https://{tenant}.kendo.dev/oauth/authorize
  2. A browser window opens for you to log in and approve the connection
  3. The client receives an access token with the mcp:use scope
  4. All subsequent MCP requests include this token in the Authorization header
  5. Tokens are automatically refreshed when they expire

Available Tools

ToolDescriptionPage
create-issueCreate a new issue in a projectIssues
update-issueUpdate an existing issue (including lane changes)Issues
delete-issueDelete an issue permanentlyIssues
search-issuesSearch issues by text and filtersIssues
add-commentAdd a comment to an issueComments
create-time-entryLog time against an issueTime Entries
get-time-entriesQuery time entries with groupingTime Entries
create-epicCreate an epicEpics
update-epicUpdate an epicEpics
delete-epicDelete an epicEpics
get-epicsList epics with progress dataEpics
create-sprintCreate a new sprintSprints
update-sprintUpdate sprint detailsSprints
complete-sprintComplete the active sprintSprints
link-branchLink a Git branch to an issueBranches

Available Resources

URI PatternDescriptionPage
kendo://projectsList all accessible projectsResources
kendo://projects/{id}Project details with GitHub reposResources
kendo://projects/{id}/issuesAll issues in a projectResources
kendo://issues/{id}Single issue with comments and timeResources
kendo://projects/{id}/lanesBoard lanes with issue countsResources
kendo://projects/{id}/sprintsSprint list with issue countsResources
kendo://projects/{id}/epicsEpics with status and progressResources
kendo://projects/{id}/membersProject members for assignmentResources
kendo://projects/{id}/github-reposLinked GitHub repositoriesResources
kendo://teamsTeams and their membersResources

See Also