get_project
Retrieve project details including page counts, scrape, rewrite, and publish progress for a given project ID.
Instructions
Get project details including stats (page counts, scrape/rewrite/publish progress)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | Project UUID |
Implementation Reference
- src/tools.ts:96-99 (handler)The tool handler for 'get_project'. It receives project_id, calls client.getProject(), and returns the project data as JSON.
withErrors(async ({ project_id }) => { const res = await client.getProject(project_id); return json(res.data); }) - src/tools.ts:89-100 (registration)Registration of the 'get_project' tool with description, UUID schema validation, metadata flags (readOnly, idempotent, openWorld), and handler binding.
server.tool( "get_project", "Get project details including page-count stats and scrape/rewrite/publish progress.", { project_id: z.string().uuid().describe("Project UUID"), }, { title: "Get project", readOnlyHint: true, idempotentHint: true, openWorldHint: true }, withErrors(async ({ project_id }) => { const res = await client.getProject(project_id); return json(res.data); }) ); - src/tools.ts:92-93 (schema)Zod schema defining the input parameter: project_id (UUID string).
{ project_id: z.string().uuid().describe("Project UUID"), - src/client.ts:204-206 (helper)The HTTP client method getProject() that sends a GET request to /api/v1/projects/{id} and returns ApiResponse<ProjectData>.
async getProject(id: string): Promise<ApiResponse<ProjectData>> { return this.request("GET", `/api/v1/projects/${id}`); } - src/client.ts:37-45 (helper)The ProjectData interface defining the shape of the response data (project_id, domain, name, job_id, page_count, stats, created_at).
export interface ProjectData { project_id: string; domain: string; name: string; job_id?: string; page_count?: number; stats?: Record<string, unknown>; created_at?: string; }