# Constructable API and MCP documentation

> Connect to Constructable through the GraphQL API or the MCP server at https://api.constructable.ai/mcp.

Source: https://constructable.ai/api-docs

- [Overview](https://constructable.ai/api-docs/overview.md): The Constructable API is a GraphQL API for project, organization, and financial data. Integrations use organization API OAuth. Assistants use MCP.
- [Authentication](https://constructable.ai/api-docs/authentication.md): GraphQL accepts a Bearer token from an organization API OAuth client or from sign-in. MCP uses a separate mcp-scoped OAuth token.
- [GraphQL](https://constructable.ai/api-docs/graphql.md): POST /graphql with a Bearer token. Query from organization and project. Mutate through nested organization and project fields.
- [Pagination](https://constructable.ai/api-docs/pagination.md): List fields are Relay connections. Use first/after or last/before, read pageInfo, and do not treat a single page as the full set.
- [Errors](https://constructable.ai/api-docs/errors.md): HTTP 401 is missing auth. HTTP 422 is a GraphQL error. Mutation payloads also return errors: [String!]! for domain failures.
- [Permissions](https://constructable.ai/api-docs/permissions.md): The API enforces the same role permissions as the product. API OAuth tokens inherit the authorizing user. MCP has additional mcp.read and mcp.write checks.
- [File uploads](https://constructable.ai/api-docs/files.md): Create a direct-upload target with createFileUpload, PUT the bytes to S3, then pass signedId into a later mutation.
- [MCP](https://constructable.ai/api-docs/mcp.md): The Constructable MCP server is https://api.constructable.ai/mcp. It OAuth-authenticates a user and runs GraphQL through tools.
- [Examples](https://constructable.ai/api-docs/examples.md): End-to-end GraphQL examples for viewer, projects, RFIs, search, and file upload.
- [GraphQL schema (SDL)](https://constructable.ai/api-docs/schema.graphql): The complete public GraphQL schema.
