project_create
Create a new project container to organize work in a structured database, enabling AI agents to track epics, tasks, and decisions across sessions.
Instructions
Create a new project. Projects are the top-level container for all work.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Project name | |
| description | No | Project description | |
| status | No | Project status | active |
| tags | No | Tags for categorization |
Implementation Reference
- src/tools/projects.ts:67-84 (handler)The handler function that executes the logic to create a new project in the database.
function handleProjectCreate(args: Record<string, unknown>) { const db = getDb(); const name = args.name as string; const description = (args.description as string) ?? null; const status = (args.status as string) ?? 'active'; const tags = JSON.stringify((args.tags as string[]) ?? []); const project = db .prepare( 'INSERT INTO projects (name, description, status, tags) VALUES (?, ?, ?, ?) RETURNING *' ) .get(name, description, status, tags); const row = project as Record<string, unknown>; logActivity(db, 'project', row.id as number, 'created', null, null, null, `Project '${name}' created`); return project; } - src/tools/projects.ts:8-31 (schema)The MCP tool definition and schema for the project_create tool.
{ name: 'project_create', description: 'Create a new project. Projects are the top-level container for all work.', annotations: { title: 'Create Project', readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: false }, inputSchema: { type: 'object', properties: { name: { type: 'string', description: 'Project name' }, description: { type: 'string', description: 'Project description' }, status: { type: 'string', enum: ['active', 'on_hold', 'completed', 'archived'], default: 'active', description: 'Project status', }, tags: { type: 'array', items: { type: 'string' }, description: 'Tags for categorization', }, }, required: ['name'], }, }, - src/tools/projects.ts:130-131 (registration)Registration of the project_create handler within the tools map.
export const handlers: Record<string, ToolHandler> = { project_create: handleProjectCreate,