For AI Agents
{
"mcpServers": {
"unityfreak-pm": {
"command": "npx",
"args": [
"-y",
"@unityfreak/mcp-server@latest"
],
"env": {
"UNITYFREAK_API_KEY": "YOUR_API_KEY",
"UNITYFREAK_API_URL": "https://unityfreak.com/api/public/v1"
}
}
}
}The UnityFreak MCP server runs locally via the @unityfreak/mcp-server npm package. It uses the standard stdio transport to communicate with MCP hosts like Claude Desktop.
Add the following to your claude_desktop_config.json file. Replace YOUR_API_KEY with a key minted from your UnityFreak settings.
{
"mcpServers": {
"unityfreak-pm": {
"command": "npx",
"args": [
"-y",
"@unityfreak/mcp-server@latest"
],
"env": {
"UNITYFREAK_API_KEY": "YOUR_API_KEY",
"UNITYFREAK_API_URL": "https://unityfreak.com/api/public/v1"
}
}
}
}Because the MCP server uses your API key, it inherits all of the tier policies, access controls, and rate limits attached to that key. If you provide a project-scoped key (e.g. project:ACME:write), the AI agent will only be able to see and modify that specific project.
UNITYFREAK_API_URL is optional — it already defaults to UnityFreak's own production API and only needs to be set when you point the server at a non-production environment.
The server automatically exposes the following tools, mapping directly to the underlying UnityFreak PM REST API:
list_projects: List projects visible to the authenticating key.get_project: Get a single project by key or id.create_project: Create a new project.update_project: Update an existing project.list_tasks: List tasks across every project, or scoped to a specific project.get_task: Get a single task by key or id.create_task: Create a new task in a project.update_task: Update an existing task.list_sprints: List a project's sprints.get_sprint: Get a single sprint by id.list_documents: List a project's documents (titles only).get_document: Get a single document, including its body.If you are building a cloud-based agent instead of a local desktop application, connect to UnityFreak's own hosted remote endpoint directly — no server of your own to run. Remote clients authenticate via standard X-API-Key or Authorization: Bearer HTTP headers on the initial connection.
GET https://unityfreak.com/api/public/v1/mcp
X-API-Key: YOUR_API_KEYThe same router this endpoint runs on is exported from the @unityfreak/mcp-server package:
import { createMcpRouter } from '@unityfreak/mcp-server/express';
const mcpRouter = createMcpRouter({
baseUrl: 'https://your-instance.example.com/api/public/v1',
messagesEndpoint: '/api/public/v1/mcp/messages'
});
app.use('/api/public/v1/mcp', mcpRouter);