Integrations

Use Protoline With MCP

Connect an MCP client to Protoline to create, edit, and deploy projects.

Quickstart

Use a Protoline account with access to the projects you want to operate and an MCP client that supports Streamable HTTP OAuth.

Run the Protoline npm setup helper for your client:

npx -y @protoline/protoline bootstrap --client codex
npx -y @protoline/protoline bootstrap --client claude
npx -y @protoline/protoline bootstrap --client all

For Codex, the helper configures the hosted MCP server and starts OAuth. For Claude Code, it configures the hosted HTTP MCP server; Claude Code starts OAuth inside Claude Code when the server is used or shown as needing authentication.

Use --no-login when you want to configure the server without immediately starting OAuth:

npx -y @protoline/protoline bootstrap --client codex --no-login
npx -y @protoline/protoline bootstrap --client claude --no-login
npx -y @protoline/protoline bootstrap --client all --no-login

The package installs lightweight client skills for deterministic Protoline shortcuts where the client supports them. Use --no-skills to configure only the MCP server.

Run local setup diagnostics with:

npx -y @protoline/protoline doctor

It does not run a local MCP server. The helper configures Protoline's hosted MCP server, and installed skills are optional shortcuts over the MCP tools.

Example requests

After connecting the MCP server, natural language works in any client:

List my Protoline projects.
Create a new project named Operations Portal in my Platform team.
Show the latest failed change request for the billing portal.
Read the deployment logs for the latest dev deploy.
Create a Protoline change to add CSV export to the dashboard.
Show me the diff for that change request.
Publish the reviewed change to production.
Promote the reviewed change to production.

Claude Code can expose the installed Protoline skill as slash commands after you restart Claude Code:

/protoline
/protoline new
/protoline publish
/protoline promote
/protoline login

Codex skills are not slash commands. In Codex, use $protoline or natural language:

$protoline
$protoline new
$protoline publish
$protoline promote
$protoline login

What MCP access does

Protoline exposes an HTTP MCP endpoint for clients such as Claude Code and Codex. The MCP server lets an authenticated user inspect project state, read source snapshots, review diffs and logs, create or amend change requests, retry failed workflows, and publish reviewed changes.

MCP access is a control-plane integration. It does not give the client shell access, Docker access, database access, or direct filesystem access to your runner host. Code changes still go through Protoline change requests and the runner workflow.

Connect Codex manually

Add the hosted MCP server and start OAuth:

codex mcp add protoline \
  --url https://app.protoline.ai/api/mcp \
  --oauth-resource https://app.protoline.ai/api/mcp

codex mcp login protoline \
  --scopes project:read,project:create,project:write,deployment:write

Connect Claude Code manually

Add the hosted HTTP MCP server:

claude mcp add --transport http protoline https://app.protoline.ai/api/mcp

Claude Code supports OAuth discovery and dynamic client registration for remote HTTP MCP. If claude mcp list shows Protoline as needing authentication, open Claude Code and complete the client authentication flow there.

Scopes

OAuth clients request the scopes that match the actions you want the MCP client to perform:

Scope Allows
project:read List projects, read status, files, diffs, activity, and logs
project:create List organizations and teams, and create new projects
project:write Create, amend, and retry change workflows
deployment:write Publish reviewed changes, retry production deploys, and stop environments

Scopes are not a replacement for organization permissions. Protoline checks both the token scope and your normal project role before executing a tool.

Available tools

The MCP server exposes project tools for common Protoline workflows:

Tool Use
protoline_help Show focused MCP help
list_organizations Find organizations available to the token owner
list_teams List teams in an organization before creating a project
create_project Create a new empty Protoline project
list_projects Find projects available to the token owner
read_project_status Read source, deployment, build, and change-request status
list_files List files in the current source snapshot
read_file Read a bounded file by repository-relative path
list_change_requests List recent change requests
read_change_request Inspect one change request and its workflow steps
read_diff Read a bounded change-request diff
read_project_activity Read normalized project activity
read_logs Read bounded logs through an opaque log reference
create_change Create a runner-backed change request from a prompt
amend_change Add instructions to an existing change request
retry_import Retry a failed source import
retry_change Retry a failed editor run
retry_production Retry a failed production deployment
publish_change Publish a reviewed change and queue production deployment
promote_change Same behavior as publish_change
stop_environments Stop active project environments

Project-scoped tools require a project_id. Use list_projects first if you do not know the project ID.

create_project creates the project record for an explicit team_id and applies that team's deployment target defaults. It does not upload source files, import a ZIP, or import a local checkout.

Skills and Shortcuts

The npm setup helper installs a small protoline skill for supported clients. That skill gives deterministic shortcuts for the common command surface:

Shortcut Behavior
protoline Show Protoline MCP help
protoline new Create a new empty project
protoline publish Publish a reviewed change to production
protoline promote Same behavior as protoline publish
protoline login Point back to bootstrap for first-time setup or login for re-authentication

Claude Code exposes installed skills as slash commands, so /protoline can work there after restarting Claude Code. Codex skills are not slash commands: Codex intercepts unknown / commands before skills run. In Codex, use $protoline or natural language such as "Show Protoline help."

Use natural language for status, files, diffs, activity, logs, retries, and change requests. Those actions remain available as MCP tools without making every tool a command-menu item. Removing installed skills should not break MCP access; they are shortcuts, not the source of authority.

Security model

OAuth MCP requests run as the signed-in user who approved the MCP client. Mutating actions are recorded as MCP-triggered Protoline actions, and credential usage is tracked.

The MCP server intentionally does not expose general-purpose shell, Git, Docker, or database tools. It also does not allow direct pushes to main or bypass review. Source changes should be requested through create_change or amend_change, reviewed, and published through the normal Protoline workflow.

If an OAuth MCP client should no longer have access, revoke its OAuth session in the Protoline profile page.

Troubleshooting

If the client cannot connect, verify that the URL is https://app.protoline.ai/api/mcp.

If Codex does not request a resource-bound OAuth token, remove and re-add the server with --oauth-resource https://app.protoline.ai/api/mcp.

If a tool returns project_id is required, call list_projects and retry with the project ID.

If a tool returns Forbidden, the token is missing a required scope or your Protoline role does not include the required project permission.