MCP Server

Connect UnifiedModels to your AI assistant or coding agent. Through the Model Context Protocol (MCP), tools like Claude, ChatGPT, Cursor, VS Code and Codex can read and edit your data models, generate code in 30 languages and schema formats, import existing schemas, and push the results to GitHub.

Quick start

Use this URL wherever your client asks for a remote MCP server:

https://api.unifiedmodels.com/mcp
  1. Add the URL above to your client. Pick your client in Connect your client.
  2. Your client opens a browser window. Sign in to UnifiedModels (or sign up) and approve the permissions it asks for.
  3. Ask your assistant something like “List my UnifiedModels projects.”

There is no API key to copy or rotate: your client stores and refreshes its sign-in for you.

Server URLhttps://api.unifiedmodels.com/mcp
TransportStreamable HTTP (remote). Nothing to install.
AuthenticationOAuth 2.1 sign-in with your UnifiedModels account. No API key.
MCP versions2026-07-28, plus earlier revisions back to 2025-03-26
Capabilities21 tools and 3 resources

What you can do

  • Browse your work: list every project you own or collaborate on and read its models, enums, constants, target languages and connected repositories.
  • Edit models, enums and constants: create, update, rename and delete them one at a time, or change a single field. Renaming updates every reference; deleting clears references and tells you what changed.
  • Manage projects: create a project, replace one wholesale, or delete it (owners and project admins only).
  • Generate code: render a project in any of the 30 supported languages and schema formats below.
  • Import schemas: paste a schema or source file in any of 18 formats; the assistant can detect the format, parse it into models and enums, and save the ones you want.
  • Push to GitHub: list the repositories and branches of the GitHub account connected to UnifiedModels, and commit generated code to a project's connected repositories.

Supported languages and formats

Language ids are what the tools take; your assistant can also look them up with list_languages.

Language / formatIdGenerateImport
ALPSalps✓✓
AsyncAPIasyncapi✓✓
BigQuerybigquery✓✓
C#csharp✓✓
DynamoDBdynamodb✓✓
F#fsharp✓✓
Gogolang✓✓
Google Discoverygooglediscovery✓✓
GraphQLgraphql✓✓
Joijoi✓
JSON Schemajson✓✓
Mermaidmermaid✓
Microsoft Graphmicrosoftgraph✓
MongoDBmongodb✓✓
Mongoosemongoose✓
Nomnomlnomnoml✓
Nomnoml (SVG)nomnoml_svg✓
OpenAPIopenapi✓✓
PHPphp✓✓
Prismaprisma✓
Protobufprotobuf✓
Pythonpython✓
RAMLraml✓✓
Rubyruby✓✓
SQLsql✓✓
Swaggerswagger✓✓
TypeBoxtypebox✓
TypeORMtypeorm✓
TypeScripttypescript✓✓
Zodzod✓

Connect your client

Any client that supports remote MCP servers with OAuth can connect directly. Instructions for popular clients follow; menus move between releases, so check your client's own MCP documentation if a step does not match.

Claude (claude.ai and Claude Desktop)

  1. Open Settings → Connectors and choose Add custom connector.
  2. Name it UnifiedModels and paste the server URL.
  3. Click Connect, sign in to UnifiedModels and approve access.
  4. In a chat, enable UnifiedModels from the tools menu.

On Team and Enterprise plans, an owner may need to add the connector for the organization first.

Claude Code

claude mcp add --transport http unifiedmodels https://api.unifiedmodels.com/mcp

Then run /mcp inside Claude Code, select unifiedmodels and choose Authenticate. Add --scope project to share the server with your team through .mcp.json, or --scope user to use it in every project.

ChatGPT

  1. Turn on Developer mode under Settings → Apps & Connectors → Advanced settings.
  2. Back in Apps & Connectors, choose Create.
  3. Name it UnifiedModels, paste the server URL and choose OAuth authentication.
  4. Sign in to UnifiedModels and approve access, then enable it from the tools menu in a chat.

OpenAI Codex (CLI and IDE extension)

codex mcp add unifiedmodels --url https://api.unifiedmodels.com/mcp
codex mcp login unifiedmodels

Or add it to ~/.codex/config.toml and then run codex mcp login unifiedmodels:

[mcp_servers.unifiedmodels]
url = "https://api.unifiedmodels.com/mcp"

Cursor

Add this to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project), then open Settings → MCP and click Connect next to unifiedmodels:

{
  "mcpServers": {
    "unifiedmodels": {
      "url": "https://api.unifiedmodels.com/mcp"
    }
  }
}

VS Code (GitHub Copilot)

code --add-mcp '{"name":"unifiedmodels","type":"http","url":"https://api.unifiedmodels.com/mcp"}'

Or add it to .vscode/mcp.json in your workspace (or run MCP: Add Server from the Command Palette). Start the server when prompted and sign in; then use it from Copilot Chat in Agent mode.

{
  "servers": {
    "unifiedmodels": {
      "type": "http",
      "url": "https://api.unifiedmodels.com/mcp"
    }
  }
}

Windsurf

Open Windsurf Settings → Cascade → MCP Servers → View raw config (~/.codeium/windsurf/mcp_config.json), add the server, and refresh:

{
  "mcpServers": {
    "unifiedmodels": {
      "serverUrl": "https://api.unifiedmodels.com/mcp"
    }
  }
}

Gemini CLI

gemini mcp add --transport http unifiedmodels https://api.unifiedmodels.com/mcp

Or add it to ~/.gemini/settings.json. Then run /mcp auth unifiedmodels inside Gemini CLI to sign in:

{
  "mcpServers": {
    "unifiedmodels": {
      "httpUrl": "https://api.unifiedmodels.com/mcp"
    }
  }
}

Zed

Add a context server to your Zed settings.json. This uses the mcp-remote bridge, which handles the browser sign-in:

{
  "context_servers": {
    "unifiedmodels": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.unifiedmodels.com/mcp"
      ]
    }
  }
}

Cline

Open the MCP Servers panel, choose Configure to edit cline_mcp_settings.json, and add:

{
  "mcpServers": {
    "unifiedmodels": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.unifiedmodels.com/mcp"
      ]
    }
  }
}

JetBrains IDEs (AI Assistant)

Go to Settings → Tools → AI Assistant → Model Context Protocol (MCP), click Add, choose As JSON and paste:

{
  "mcpServers": {
    "unifiedmodels": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.unifiedmodels.com/mcp"
      ]
    }
  }
}

Other clients

Any client that supports remote Streamable HTTP servers with OAuth can use the server URL directly. For a client that only runs local (stdio) servers, or cannot do OAuth, bridge it with mcp-remote (needs Node.js 18+). It opens the browser sign-in on first use and stores the token locally:

{
  "mcpServers": {
    "unifiedmodels": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.unifiedmodels.com/mcp"
      ]
    }
  }
}

Permissions

When you approve a client, the consent screen lists the scopes it is asking for. Each tool checks for the scope it needs, so you can, for example, give a client read-only access to your projects.

ScopeAllows
mcpConnect to UnifiedModels over MCP. Every client needs this.
projects:readRead your projects, models, enums and constants, and generate code from them.
projects:writeCreate, change and delete your projects and their models, enums and constants.
repos:readList the repositories and branches of your connected GitHub account.
repos:writeCommit generated code to your connected repositories.

Tools

Tools that address a single model, enum or constant accept either its id or its name. Prefer upsert_model, upsert_enum and upsert_constant over upsert_project: they change only that one item, so they cannot overwrite someone else's concurrent edit.

Projects

ToolWhat it doesScopeChanges data
list_projectsList every project you own or collaborate on.projects:readNo
get_projectGet a project in full: models, enums, constants, target languages, collaborators and repositories.projects:readNo
upsert_projectCreate a project, or replace an existing one wholesale.projects:writeYes
delete_projectPermanently delete a project and everything in it. Owners and project admins only.projects:writeYes

Models, enums and constants

ToolWhat it doesScopeChanges data
get_modelGet one model and its fields.projects:readNo
upsert_modelCreate or update one model. Renaming updates every reference to it.projects:writeYes
update_fieldChange some attributes of one field (its description, say) without resending the model.projects:writeYes
delete_modelDelete a model and clear the fields that referred to it.projects:writeYes
get_enumGet one enum and its values.projects:readNo
upsert_enumCreate or update one enum.projects:writeYes
delete_enumDelete an enum and clear references to it.projects:writeYes
get_constantGet one constant.projects:readNo
upsert_constantCreate or update one constant.projects:writeYes
delete_constantDelete a constant.projects:writeYes

Generate and import

ToolWhat it doesScopeChanges data
list_languagesList the supported languages and formats, and which of them can be imported.mcpNo
generate_codeGenerate a project as source in one language or format.projects:readNo
guess_import_languageDetect which importers recognise a pasted schema or source file.mcpNo
parse_schemaParse a schema or source file into models and enums, without saving them.projects:readNo

GitHub

ToolWhat it doesScopeChanges data
list_github_reposList the repositories your connected GitHub account can reach.repos:readNo
list_github_branchesList the branches of one repository.repos:readNo
push_to_repoGenerate the project's enabled languages and commit them to one or all of its connected repositories.repos:writeYes

Resources

Clients that support MCP resources can also attach these read-only views as context:

URIContents
unifiedmodels://projectsEvery project you own or collaborate on.
unifiedmodels://project/{project_id}One project in full, as JSON.
unifiedmodels://project/{project_id}/generate/{language}Generated source for one language, in full (generate_code truncates very large output).

Example prompts

  • “List my UnifiedModels projects and show me the models in the Billing project.”
  • “Add an optional phone string field to the Customer model.”
  • “Rename the Status enum to OrderStatus.”
  • “Here's our OpenAPI spec. Import its schemas into my Orders project.”
  • “Generate the Orders project as Zod and as Prisma.”
  • “Push the Orders project to its connected GitHub repo.”

Good to know

  • generate_code returns at most 100,000 characters, so it does not flood your assistant's context. For the full output, read the unifiedmodels://project/{project_id}/generate/{language} resource.
  • parse_schema only parses; nothing is saved until the assistant upserts the results.
  • The GitHub tools use the GitHub account connected to your UnifiedModels user, and push_to_repo pushes to the repositories connected to the project. Set both up in the web app first.
  • push_to_repo makes real commits, and the delete tools are permanent. Most clients ask before running tools that change data; keep that confirmation on.

Security and revoking access

  • The MCP server acts only as the account you signed in with, only on projects that account owns or collaborates on, and only within the scopes you approved.
  • Access tokens last one hour and only work with this server. Refresh tokens last 30 days and are replaced every time they are used; if an old one is ever reused, every token descended from it is revoked.
  • Every sign-in uses PKCE (S256), so a stolen authorization code cannot be redeemed.
  • To stop a client using your account, disconnect or remove UnifiedModels in that client. To revoke access on our side, contact us.

See our Privacy Policy for how your data is handled.

Troubleshooting

ProblemFix
The browser sign-in never opensMake sure the client is set up for a remote HTTP server with OAuth, not a stdio command. If it cannot do OAuth, use the mcp-remote bridge.
401 Unauthorized, or tools stop working after a whileYour sign-in expired or was revoked. Re-authenticate in the client (for example /mcp in Claude Code, or disconnect and reconnect the connector).
“This token is missing the required scope”The client was approved without that permission. Disconnect, reconnect, and approve all the scopes you want it to use.
GitHub tools return nothing or failConnect GitHub to your UnifiedModels account in the web app, and add repositories to the project before using push_to_repo.
A client only supports the older HTTP+SSE transportUse the mcp-remote bridge, which talks Streamable HTTP to us and stdio to your client.

For client developers

  • Transport: Streamable HTTP, POST only. The server is stateless and serves protocol revision 2026-07-28 (no initialize handshake) as well as earlier revisions back to 2025-03-26. There is no GET stream and no legacy HTTP+SSE endpoint.
  • Protected resource metadata (RFC 9728): https://api.unifiedmodels.com/.well-known/oauth-protected-resource/mcp
  • Authorization server metadata (RFC 8414): https://api.unifiedmodels.com/.well-known/oauth-authorization-server
  • Clients can identify themselves with a Client ID Metadata Document (an HTTPS URL as the client_id) or register through Dynamic Client Registration at https://api.unifiedmodels.com/oauth/register.
  • Grants: authorization_code with PKCE S256 (plain is refused) and refresh_token. Public clients and client_secret_post / client_secret_basic are supported, and authorization responses carry iss (RFC 9207).
  • Access tokens are audience-bound to https://api.unifiedmodels.com/mcp. A 401 response carries a WWW-Authenticate challenge naming the resource metadata and every scope the tools use.

Need help?

If you have trouble connecting, contact us.

© 2026 Unified API Inc.

Features:
  • define models with fields
  • define enums with values
  • define constants based off of a model
  • invite collaborators
  • generate languages/specifications/schemas
  • push to github repos
Languages supported:
  • Golang generate
  • GraphQL generate
  • Joi generate
  • Microsoft Graph generate
  • Mongoose generate
  • Nonmoni generateSVG
  • OpenAPI generate
  • Prisma generate
  • Protobuf generate
  • Python generate
  • Swagger generate
  • Typebox generate
  • TypeORM generate
  • Typescript generateimport
  • Zod generate