aiproject-mcp
v1.0.0
Published
MCP server for the AIProject project and task management API.
Readme
AIProject MCP Server
This MCP server wraps the AIProject project/task API described in api.md.
Run
npm install
npm run build
npm startUse aiproject-mcp as a stdio MCP server after build.
MCP Config
Local build:
{
"mcpServers": {
"aiproject": {
"command": "C:\\ServBay\\bin\\node.cmd",
"args": [
"C:\\Users\\Onur\\Desktop\\mcp\\dist\\src\\index.js"
],
"env": {
"AIPROJECT_BASE_URL": "http://127.0.0.1:8000/",
"AIPROJECT_API_KEY": "<API_KEY>"
}
}
}
}After npm publish:
{
"mcpServers": {
"aiproject": {
"command": "npx",
"args": [
"-y",
"aiproject-mcp"
],
"env": {
"AIPROJECT_BASE_URL": "http://127.0.0.1:8000/",
"AIPROJECT_API_KEY": "<API_KEY>"
}
}
}
}Credentials
The server reads credentials from environment variables:
AIPROJECT_BASE_URL: API root or app root. Bothhttp://127.0.0.1:8000andhttp://127.0.0.1:8000/api/v1are accepted. If the app root is supplied,/api/v1is appended automatically.AIPROJECT_API_KEY: API key sent asX-API-Key.
Every MCP tool also accepts optional credential overrides in its input:
baseUrl: OverrideAIPROJECT_BASE_URLfor one call.apiKey: OverrideAIPROJECT_API_KEYfor one call.
Tools
aiproject_get_me:GET /me; verify the API key and return the current user.aiproject_list_projects:GET /projects; paginated project summaries.aiproject_create_project:POST /projects; create a project withname,github_url,clickup_url.aiproject_get_project:GET /projects/{project}; get one project.aiproject_update_project:PUT /projects/{project}; full project update, all project fields required.aiproject_delete_project:DELETE /projects/{project}; deletes the project and its tasks.aiproject_list_tasks:GET /projects/{project}/tasks; paginated task summaries. Does not returncontent.aiproject_create_task:POST /projects/{project}/tasks; create a task with longcontentand assignments. Returns summary withoutcontent.aiproject_get_task:GET /projects/{project}/tasks/{task}; the only task read tool that returns longcontent.aiproject_update_task:PUT /projects/{project}/tasks/{task}; full task update. The sent assignments replace the old list. Returns summary withoutcontent.aiproject_delete_task:DELETE /projects/{project}/tasks/{task}; deletes the task and assignments.aiproject_update_assignment_status:PATCH /projects/{project}/tasks/{task}/assignments/{type}; update one existing team status. It does not create missing assignments.
Usage Guidance
List tasks first with aiproject_list_tasks because it returns lightweight summaries. Call aiproject_get_task only for the specific task whose long content must be read.
Use aiproject_update_assignment_status when only one team's status changes. Use aiproject_update_task when the title, content, or assignment team list changes.
Test
npm testBy default, the integration test calls http://127.0.0.1:8000/api/v1/me through MCP with a dummy API key and expects the documented 401 auth response. To test with a real key:
$env:AIPROJECT_BASE_URL = "http://127.0.0.1:8000/"
$env:AIPROJECT_API_KEY = "<API_KEY>"
npm test