Deprecated: This project is deprecated. Please see Codebase MCP Server for a replacement for the MCP server part. The task server will not be replaced as I do not use it.
This is a DDEV add-on for Codebase, a project managment software.
ddev add-on get happiness/ddev-codebase
Configure a MCP server at Tools > AI Assistant > Model Context Protocol (MCP) with the following config:
{
"mcpServers": {
"codebase": {
"command": "ddev",
"args": [
"exec",
"php",
".ddev/codebase/scripts/CodebaseMCPServer.class.php"
]
}
}
}Also set the correct working directory (project root) and server level (project).
The MCP-server provides the following tools:
- list_tickets
- get_ticket
- get_ticket_notes
- get_ticket_statuses
- get_ticket_priorities
- get_ticket_categories
- get_ticket_types
- create_ticket
- update_ticket
- get_milestones
- get_project_activity
- get_project_users
Configure a task server at Tools > Tasks > Servers, add a Generic server with the following config:
<component name="TaskManager">
<servers>
<Generic url="https://<PROJECT>.ddev.site:8081">
<option name="loginAnonymously" value="true" />
<option name="responseHandlers">
<XPathResponseHandler />
<JsonResponseHandler>
<selectors>
<selector name="tasks" path="$.tickets" />
<selector name="id" path="id" />
<selector name="summary" path="summary" />
<selector name="description" path="" />
<selector name="updated" path="updated" />
<selector name="created" path="created" />
<selector name="closed" />
<selector name="issueUrl" path="issue_url" />
<selector name="singleTask-id" path="$.ticket.id" />
<selector name="singleTask-summary" path="$.ticket.summary" />
<selector name="singleTask-description" path="" />
<selector name="singleTask-updated" path="$.ticket.updated" />
<selector name="singleTask-created" path="$.ticket.created" />
<selector name="singleTask-closed" />
<selector name="singleTask-issueUrl" path="$.ticket.issue_url" />
</selectors>
</JsonResponseHandler>
<RegExResponseHandler />
</option>
<option name="singleTaskUrl" value="{serverUrl}/codebase.php?op=ticket&id={id}" />
<option name="tasksListUrl" value="{serverUrl}/codebase.php?op=tickets" />
</Generic>
</servers>
</component>Create a .ddev/.env file with the following contents or append it if the file aready exists.
CODEBASE_API_KEY=<API_KEY>
CODEBASE_API_URL="https://api3.codebasehq.com"
CODEBASE_PROJECT=<PROJECT-ID>
CODEBASE_USERNAME=<API_USERNAME>