sentry_create_project
Create a new Sentry project to monitor deployments, releases, and application health metrics. Specify project name, slug, platform, and team for effective tracking.
Instructions
Create a new project in Sentry. Track deployments, releases and health metrics.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Project name | |
| platform | No | Platform (e.g., 'javascript', 'python', 'node') | |
| slug | Yes | Project slug (URL-friendly identifier) | |
| team | Yes | Team slug |
Implementation Reference
- src/index.ts:1208-1229 (handler)The MCP tool handler for 'sentry_create_project'. It checks if the API client is initialized, destructures input arguments (name, slug, platform, team), calls apiClient.createProject, and returns a structured text response with the created project's details.case "sentry_create_project": { if (!apiClient) { throw new Error("Sentry API client not initialized. Provide auth token."); } const { name, slug, platform = "javascript", team } = args as any; const project = await apiClient.createProject({ name, slug, platform, team }); return { content: [ { type: "text", text: `Project created successfully:\n` + `- Name: ${project.name}\n` + `- Slug: ${project.slug}\n` + `- ID: ${project.id}\n` + `- Platform: ${project.platform}\n` + `- Status: ${project.status}`, }, ], }; }
- src/index.ts:571-595 (registration)The tool registration entry in server.setTools() array, defining the tool's name, description, and inputSchema for validation.name: "sentry_create_project", description: "Create a new project in Sentry. Track deployments, releases and health metrics.", inputSchema: { type: "object", properties: { name: { type: "string", description: "Project name", }, slug: { type: "string", description: "Project slug (URL-friendly identifier)", }, platform: { type: "string", description: "Platform (e.g., 'javascript', 'python', 'node')", }, team: { type: "string", description: "Team slug", }, }, required: ["name", "slug", "team"], }, },
- src/sentry-api-client.ts:47-52 (helper)Helper method in SentryAPIClient class that makes the POST request to the Sentry API endpoint for creating a project in the specified team.async createProject(data: any) { return this.request(`/teams/${this.org}/${data.team}/projects/`, { method: 'POST', body: JSON.stringify(data), }); }
- src/types.ts:19-57 (schema)TypeScript interface defining the expected response shape from Sentry project creation API, used for type safety in the codebase.export interface SentryProjectCreationResponse { id: string; slug: string; name: string; platform: string; dateCreated: string; isBookmarked: boolean; isMember: boolean; features: string[]; firstEvent: string | null; firstTransactionEvent: boolean; access: string[]; hasAccess: boolean; hasMinifiedStackTrace: boolean; hasFeedbacks: boolean; hasMonitors: boolean; hasNewFeedbacks: boolean; hasProfiles: boolean; hasReplays: boolean; hasFlags: boolean; hasSessions: boolean; hasInsightsHttp: boolean; hasInsightsDb: boolean; hasInsightsAssets: boolean; hasInsightsAppStart: boolean; hasInsightsScreenLoad: boolean; hasInsightsVitals: boolean; hasInsightsCaches: boolean; hasInsightsQueues: boolean; hasInsightsLlmMonitoring: boolean; isInternal: boolean; isPublic: boolean; avatar: { avatarType: string; avatarUuid: string | null; }; color: string; status: string; }