# Pascal Editor > Pascal is an open-source building editor with a semantic scene graph and hosted services for people and agents. Create, inspect, edit, validate and enrich building projects through the editor, MCP or the Scene API. ## Official documentation - [Documentation index](https://editor.pascal.app/docs/llms.txt): canonical guides and their machine-readable index. - [Connect an AI agent](https://editor.pascal.app/docs/developers/mcp): hosted authentication, client setup, project access and recovery. - [Pascal API (v1)](https://editor.pascal.app/docs/developers/api): the Architect over the OpenAI Responses and Chat Completions formats; models architect and pascal-architect at each effort. - [Use the OpenAI SDK](https://editor.pascal.app/docs/developers/openai-sdk): Python, TypeScript and AI SDK clients, metadata.project_id, metadata.pascal_max_credits, background turns and cancel. - [Hosted services](https://editor.pascal.app/docs/developers/hosted-services): site context, media generation, credit costs and saved results. - [Agent skills](https://editor.pascal.app/docs/developers/agent-skills): install public Pascal workflows and choose the correct project store. - [Local editor](https://editor.pascal.app/docs/developers/local-editor): CLI setup, local storage and the managed MCP connector. - [Plugin authoring](https://editor.pascal.app/docs/developers/plugins): extend the scene graph and editor. - [Account credits](https://editor.pascal.app/docs/account/credits): subscription and purchased credits. ## Discover interfaces - [API catalog](https://editor.pascal.app/.well-known/api-catalog): machine-readable links to Pascal's interfaces. - [MCP server card](https://editor.pascal.app/.well-known/mcp/server-card.json): released tools, resources, prompts and their contracts. - [Service capabilities](https://editor.pascal.app/.well-known/pascal-capabilities): public service contracts and prices; discovery grants no account permissions. - [Hosted MCP](https://editor.pascal.app/api/mcp): Streamable HTTP endpoint. The agent guide is the pascal://agent-guide resource. - [Scene API](https://editor.pascal.app/api/openapi.json): authorized project reads, writes and event streams. - [OAuth resource metadata](https://editor.pascal.app/.well-known/oauth-protected-resource): browser sign-in for registered clients: Claude (web, Desktop and Claude Code) and Pascal's official Cursor connector. ## Choose the project store and identity Claude and the official Cursor connector use browser OAuth to select and approve a Pascal workspace (Claude setup: https://editor.pascal.app/docs/developers/claude). Other clients can use a Pascal API key; arbitrary OAuth client registration is not enabled. Use the existing user or organization identity for work in its projects. Create an autonomous agent account only when the task explicitly calls for separate private work. Claiming an agent does not transfer project ownership, upload local projects or grant access to somebody else’s workspace. Unclaimed agents cannot spend credits. The local CLI starts with npx @pascal-app/cli editor; its managed connector is pascal mcp connect. Local scenes stay in the local store. Adding a hosted connection does not upload them or turn a local scene ID into a hosted project. Keep the local and hosted server names distinct. ## Project files Project files are the shared workspace for inputs and deliverables, including chat uploads, plugin documents, snapshots and completed Studio images/videos. Threads and messages are not files. Use get_project_assets (paginated), get_project_file, upload_project_file, rename_project_file and delete_project_file on the hosted MCP. File access requires project membership even for a public scene. REST: GET /api/projects/{id}/files; GET/PATCH/DELETE /api/projects/{id}/files/{fileId}; GET /api/projects/{id}/files/{fileId}/content. For uploads, POST /api/projects/{id}/files/uploads with name, mimeType and size, PUT the bytes to signedUrl, then PUT the metadata plus returned id and storageKey to the uploads endpoint. Reuse that id when retrying completion. The limit is 500 MB; SVG is refused. The OpenAPI document describes the inputs. ## Hosted service contracts - **llm.generate** — Pascal AI: Metered model tokens. - **studio.generate** — Studio models: Per-model credits. - **site.pull** — Site intelligence: 50 credits per pull; saved results are free. Use list_pascal_services with the installed plugin and hosted project to resolve account-specific access and media models. Paid tools require maxCredits; the gateway computes the price and refuses a charge above that ceiling. Site pulls retain an operation ID and pull key for polling and safe retries. Saved results can be reopened without another charge. Service calls require edit access, an installed curated plugin with a service grant, the applicable membership and sufficient Pascal credits. Current scene-only OAuth grants do not authorize service spending. A connected ChatGPT subscription funds eligible LLM use only when that integration is enabled; map pulls and Studio models still use Pascal credits. The hosted tool contract exposes supported inputs, outcomes, costs and recovery. Private prompts, provider routing, experimental tools and proprietary workflow implementations are not published. Local MCP keeps its raw editor tools; hosted capabilities are added explicitly by the host. ## Result boundaries Return the editorUrl reported by get_project_status after validation and saving. An account claim does not grant the recipient project access. Site results preserve sources, coverage gaps and unknowns; they are not a guarantee of buildability. Capture tools read existing iOS scans and cannot start a scan. MCP export_glb is unsupported; a JSON export is not a GLB artifact. - [Furniture footprint precheck](https://editor.pascal.app/tools/furniture-fit): no sign-in; the official agent-skills guide explains its limits. - [Public editor and skills](https://github.com/pascalorg/editor): the open-source implementation and released portable workflows. - [Pascal Home Services](https://www.pascal.app/llms.txt): maintenance, memberships and contractor operations use a separate API and authorization surface. Content-Signal: ai-train=no, search=yes, ai-input=yes