MewCP LogoAStheTech
MCPs
Use Cases

Use cases by category

Productivity & InboxInbox, calendar, and daily flowEngineering & DevOpsShip, debug, and run on-callSales & CRMPipeline, outreach, and dealsMarketing & GrowthCampaigns, SEO, and growthSupport & SuccessTriage tickets, keep customers happyFinance & OpsClose, reconcile, and expensesCreative & ContentGenerate assets and contentPeople & HiringHiring, onboarding, and HRResearch & DataSynthesize data and insights
See all use cases
Resources
BlogsProduct updates and storiesArticlesIntegration guides and code examples
PricingDocsSign in
MewCP Logo

Infrastructure You Can Trust for Agentic Products

X

Categories

  • Productivity & Docs
  • Developer Tools
  • CRM & Sales
  • Finance & Commerce
  • Data & Analytics
  • Marketing & SEO
  • Search & Web
  • Communication
  • View All Servers →

Resources

  • Blog
  • Docs
  • Privacy Policy
  • Terms of Service

Blogs

  • View All Blogs →

Articles

  • View All Articles →
Browse Servers|Pricing|Contact

Browse by Category

Productivity & Docs

  • Gmail
  • Google Drive
  • YouTube
  • Google Calendar
  • Google People
  • Google Classroom
  • Notion
  • ClickUp
  • Figma
  • Google Tasks
  • Cal
  • Monday
  • Luma
  • Notion MCP
  • Mem MCP
  • Linear MCP
  • Calendly MCP
  • Consensus MCP
  • Craft MCP
  • Close MCP
+ 34 more
  • Dice MCP
  • Lumin PDF MCP
  • Develop21 MCP
  • Granola MCP
  • Lucid MCP
  • Mermaid Chart MCP
  • Fireflies MCP
  • ClickUp MCP
  • Miro MCP
  • Llamaindex MCP
  • Otter MCP
  • Mobbin MCP
  • Descript MCP
  • ToDoist MCP
  • SlidesGPT MCP
  • AgileHero MCP
  • JobYap MCP
  • AccountHub MCP
  • Slicktrip MCP
  • Gemina MCP
  • QrVerloz
  • Tempreon MCP
  • HyperFrames MCP
  • Menti MCP
  • Tally MCP
  • Taplio MCP
  • TickTick MCP
  • Motion MCP
  • StockCake MCP
  • Dashly MCP
  • DoingWork MCP
  • 1Stay Hotel Booking
  • 42min MCP
  • MyLeadTech MCP

Developer Tools

  • Gemini
  • Veo
  • ClickUp
  • Firecrawl
  • Vercel
  • Apify
  • Github
  • Chef
  • Scientific Calculator
  • Figma
  • HTTP
  • Perplexity
  • Apify MCP
  • Hugging Face Hub MCP
  • Buildkite MCP
  • Cloudflare MCP
  • Context7 MCP
  • Ahrefs MCP
  • Sentry MCP
  • Brevo Docs MCP
+ 57 more
  • X Docs MCP
  • Jev
  • Linear MCP
  • Calendly MCP
  • Craft MCP
  • DeepWiki MCP
  • Inspo MCP
  • Kernel MCP
  • Malwarebytes MCP
  • Mermaid Chart MCP
  • Supabase MCP
  • Microsoft Learn MCP
  • Webflow MCP
  • Scalar Docs MCP
  • Oneuptime MCP
  • Redocly MCP
  • Reducto Docs MCP
  • Llamaindex Docs MCP
  • B12 MCP
  • Lucid Docs MCP
  • Airwallex Docs MCP
  • Langfuse Docs MCP
  • Glen Docs MCP
  • AgentMail
  • Gogs Docs MCP
  • Netlify MCP
  • Neon MCP
  • Minlify Admin MCP
  • Mintlify Index MCP
  • Fern Docs MCP
  • Greptile MCP
  • Statssif Docs MCP
  • Scorecard MCP
  • Railway MCP
  • Inkbox AI
  • Stele MCP
  • LastPing MCP
  • ConsentStack
  • Iubenda MCP
  • BSV.CX MCP
  • Agent Traffic Lab MCP
  • Nippy MCP
  • Just Domain MCP
  • Grafana Cloud MCP
  • HotAPI Docs
  • Endoflife.ai MCP
  • ElevenLabs MCP
  • Laso Docs MCP
  • OpenRouter MCP
  • Replit MCP
  • Tripadvisor Docs MCP
  • GitLab MCP
  • Mailchimp Docs MCP
  • Clerk MCP
  • HotAPI
  • TinyFish
  • Porter MCP

CRM & Sales

  • Google People
  • OneSignal MCP
  • Brevo Docs MCP
  • Brevo
  • Brevo MCP
  • Carbon Voice MCP
  • Clay MCP
  • Close MCP
  • Attio MCP
  • Clarify MCP
  • Hunter.io
  • Plain MCP
  • Modem MCP
  • Whats MCP
  • HubSpot MCP
  • Getleads.io MCP

Finance & Commerce

  • Kite
  • Razorpay
  • Polymarket
  • Stripe
  • Binance
  • Upstox
  • Aiwyn MCP
  • Era-Context-MCP
  • Granted MCP
  • XDC AI MCP
  • Agentery MCP
  • Agent Embassy
  • Quick Commerce MCP
  • Longbridge MCP
  • Mercury MCP
  • Blockscout MCP
  • Octagon AI MCP
  • Stripe MCP
  • Taskrabbit MCP
  • SeatGeek MCP
+ 17 more
  • Clarity AI MCP
  • Beyond Payday MCP
  • DeFade MCP
  • MobileMRR MCP
  • SecondAppraisal MCP
  • Brek MCP
  • Coinversa Pulse MCp
  • Supermetrics Marketing Analytics MCP
  • DeepLedger MCP
  • Laso MCP
  • Laso Docs MCP
  • Razorpay MCP
  • Kiwi MCP
  • lastminute mcp
  • Coinfuty MCP
  • Pyth MCP
  • Carta MCP

Data & Analytics

  • Apify MCP
  • Cloudflare MCP
  • Ahrefs MCP
  • Candid MCP
  • Consensus MCP
  • Contentsquare MCP
  • Era-Context-MCP
  • Instinct MCP
  • legal Data Hunter MCP
  • Marcopolo MCP
  • Mixpanel MCP
  • MOSPI MCP
  • Hex MCP
  • OpenRevenue MCP
  • Statsig MCP
  • Synthesize Bio MCP
  • PostHog MCP
  • PopHIVE MCP
  • Fuse Health MCP
  • Cliometry MCP
+ 6 more
  • AccuWeather MCP
  • ChEMBL MCP
  • ClinicalTrials.gov MCP
  • Staats MCP
  • NPI Registry MCP
  • AOI MCP

Marketing & SEO

  • YouTube
  • Google Business
  • Mailchimp
  • Google Search Console
  • OneSignal MCP
  • Cloudflare MCP
  • Brevo Docs MCP
  • Brevo
  • Brevo MCP
  • AirOps MCP
  • Clay MCP
  • Contentsquare MCP
  • Reelsmith MCP
  • GoDaddy MCP
  • Metricool MCP
  • Webflow MCP
  • Windsor MCP
  • Commonroom MCP
  • B12 MCP
  • Hunter.io
+ 19 more
  • Get MCP Ads
  • Minlify Admin MCP
  • Zernio MCP
  • Affiliatespy MCP
  • VarynForge
  • ListingGood MCP
  • North Noir MCP
  • Supermetrics Marketing Analytics MCP
  • NitroSend MCP
  • Spicy API MCP
  • Cromanion MCP
  • Manifold MCP
  • Cloro MCP
  • Agency AI MCP
  • Taplio MCP
  • Moda MCP
  • Semrush MCP
  • Mangools
  • Runway MCP

Search & Web

  • Web Scrapper
  • Firecrawl
  • Apify
  • Perplexity
  • Context.dev
  • Exa
  • Brave Search
  • Apify MCP
  • Ahrefs MCP
  • DeepWiki MCP
  • Dice MCP
  • GoDaddy MCP
  • Granted MCP
  • Microsoft Learn MCP
  • Viator MCp
  • Scholargateway MCP
  • Parallel MCP
  • Mintlify Index MCP
  • OpenWeather MCP
  • Simplescraper MCP
+ 24 more
  • SearchApi MCP
  • PubMed MCP
  • YouTube Transcript AI MCP
  • AccuWeather MCP
  • bioRxiv MCP
  • HEY Research Lab MCP
  • CourtListener MCP
  • Elicit MCP
  • StockCake MCP
  • TradesWithAI MCP
  • GSCmate MCP
  • Superfast Robotics MCP
  • Loppee MCP
  • Energy North Journal UK MCP
  • SocialToAI MCP
  • Agent Evidence API MCP
  • Permit Scouter
  • MyStreetData USA
  • Shop Nobi MCP
  • EverythingMeetsAI MCP
  • Mubboo Flights Search MCP
  • Ticketglide MCP
  • Premium Cruise Fares MCP
  • Tripadvisor MCP

Communication

  • Gmail
  • Google Meet
  • Google Calendar
  • Mailchimp
  • WhatsApp
  • Slack
  • OneSignal MCP
  • Brevo Docs MCP
  • Carbon Voice MCP
  • Hunter.io
  • Outlook
  • Nylas MCP
  • Resend MCP
  • Read AI MCP
  • Whats MCP
  • Inkbox AI
  • QrVerloz
  • ElevenLabs MCP
  • Fathom MCP
  • MyBestSim MCP
+ 4 more
  • Redra MCP
  • 1Stay Hotel Booking
  • ActivitySmith MCP
  • Runway MCP

© 2026 MewCP. All rights reserved.

  1. Home
  2. MCPs
  3. Porter MCP
Porter MCP

Porter MCP Integration for AI Agents

Porter enables AI agents to deploy, update, and troubleshoot applications running in your own AWS, GCP, or Azure account. Inspect deployment logs and infrastructure metrics, manage services and environments, diagnose failed deployments, adjust resource allocations, and redeploy applications.

v0.5.147 toolsOAuth
Open in ChatGPTChatGPT
Open in ClaudeClaude
Playground
VS CodeVS Code
Connected to Porter MCP via MewCP.

Encrypted at rest, isolated from the model

Resolved from an AES-256-GCM vault at the moment of the call and attached to the request — the model never sees the secrets.

Try asking

Everything Porter MCP can do

Tools47

check_aws_cluster_quota

read

Check whether an AWS cloud account has quota (vCPUs, elastic IPs, NAT gateways, VPCs, availability zones) to provision a Porter cluster in a region. Run before create_cluster, which does not reject on insufficient quota: each failed check reports usage against the limit and the AWS console link where the user can request an increase, and quota increase requests already open with AWS are listed when quota is insufficient. Omit node_groups to check the node groups create_cluster provisions, or pass the node groups an existing cluster will be updated to. A cloud account on any other provider returns status not_applicable. Accepts a project ID or exact name and a cloud account ID.

connect_cloud_account

write

Connect a cloud account to a Porter project and return the one action that advances the connection. For AWS and GCP it returns immediately without waiting, so poll get_cloud_account_status until state is connected; for Azure the final call connects the subscription before it returns. Safe to call repeatedly: the server is idempotent per account, so retrying never creates a duplicate account, and only gcp.reissue_setup_command invalidates an access grant already handed out. If the user has not named an account, omit the provider details object entirely: the response explains how to discover the account ID and confirm it with the user. The access grant must be applied in the account being connected; applying it in a different account leaves the connection waiting forever. For Azure, call once with only azure.subscription_id to get the setup script command, run it for the user, then call again adding the azure.client_id and azure.tenant_id it printed. For GCP, call once with gcp.project_id: the response carries the Cloud Shell url and the cloud_shell_command the user pastes there, which you never run. Calling again while the setup is pending returns poll_status without a new command; set gcp.reissue_setup_command only when the command expired or was lost. Azure and GCP support stops at the connected account: Porter cannot create clusters in an Azure subscription or a GCP project through these tools yet, so say so before connecting one for a user whose goal is a cluster.

connect_github

read

Check whether Porter can reach a GitHub repository and return the browser action required to connect it.

connect_slack

read

Report the Slack channels connected to a Porter project, or return the browser URL that connects one. The channel is chosen on Slack's own install screen, not through this tool. After the user returns from the browser, call it again to confirm the connection. Accepts a project ID or exact name.

create_app

write

The recommended way to create a Porter application is to provide GitHub source and a build configuration. Before using that flow, call connect_github with the repository; proceed only when next_step is none, and otherwise return the tool's URL and message to the user instead of creating the application. In this flow, Porter initially creates the application with its placeholder image and opens a GitHub Actions workflow pull request; merge the pull request to build and deploy the application's code. Use image only when the deployable image already exists. Use build without source or image only for local development; the response includes a local_build_command field with the porter apply invocation to run from the local repository. Fails if an application with the same name already exists in the target project or cluster. Never updates an existing application; use update_application instead. Resolves the deployment target from cluster and optional namespace, defaulting to the cluster's default deployment target. Omit cluster only to deploy on Porter Cloud: when get_project reports porter_cloud_enabled is true and the user has agreed, Porter assigns the project a ready cluster (the same one on every later call) and deploys to it in this call.

create_aws_quota_request

write

File quota increase requests with AWS for every quota check_aws_cluster_quota would fail for a cloud account in a region, sized to cover current usage plus the cluster. Quotas with a request already pending or approved are reported, not re-filed. Call after check_aws_cluster_quota reports insufficient quota and the user agrees to request increases; AWS approval is asynchronous and takes anywhere from an hour to a day or more, so tell the user to expect a wait, poll list_aws_quota_requests, and re-run check_aws_cluster_quota before create_cluster. Omit node_groups to request for the node groups create_cluster provisions. AWS only: a cloud account on any other provider is an error. Accepts a project ID or exact name and a cloud account ID.

create_cluster

write

Provision a new Porter cluster into a connected AWS cloud account (the provider is inferred from the account; GCP and Azure accounts are not supported yet and return an error). Porter picks the Kubernetes version, node groups, and network CIDRs; only a name and region are needed. Call check_aws_cluster_quota for the same cloud account and region first and do not create when it reports insufficient quota: a quota shortfall does not reject the create, Porter files the increase request with AWS and provisioning waits up to 90 minutes for approval. Other preflight failures, such as unavailable availability zones or conflicting CIDRs, reject the create and name the failing checks in the error. Provisioning is asynchronous: the cluster is returned before it is ready, so poll get_clusters for status. Accepts a project ID or exact name and a cloud account ID.

create_github_workflow

write

Create or re-create the GitHub Actions workflow pull request for a Porter application. Porter generates the workflow YAML, opens a PR in the application's GitHub repository, and configures the required GitHub secrets. Use this when create_app returned a placeholder application without a PR URL (the workflow PR creation failed), or when an existing application is missing its workflow PR. Returns the pull request URL to merge for building and deploying the application's real code.

create_project

write

Create a Porter project owned by the caller and return its identifier. Not idempotent: every call creates a new project, so a retry leaves a duplicate behind. Confirm the name with the user before calling, and reuse an existing project from get_projects when one already fits.

create_sandbox

write

Create a sandbox, an isolated container started from an image, on a Porter cluster that has sandboxes enabled. The call may return before the sandbox is running: poll get_sandbox until phase is running, then run commands with exec_sandbox. Put secrets in env, never in exec_sandbox commands. allowed_destinations restricts outbound traffic and needs egress_enabled on the cluster, see update_sandbox_settings. An image that cannot be pulled fails this call. Accepts a cluster name or ID. Requires project.

delete_addon

destructive

Uninstall an addon from a Porter cluster and remove its configuration, including the deploy token Porter issued for it. The addon's workloads stop before the call returns; its Postgres database is not touched, since the caller supplied it. Use it to clear a failed install before installing again, or when the user asks to remove QM. Confirm with the user first. Fails if the addon does not exist.

enable_sandboxes

write

Enable sandboxes on a Porter cluster, which adds a sandbox node group and installs the sandbox runtime. Only AWS EKS clusters that have finished provisioning are supported. The call returns before the runtime is up: poll get_sandbox_settings until ready is true, then use create_sandbox. Safe to call again; already_enabled reports that nothing changed. There is no tool to disable sandboxes. Accepts a cluster name or ID. Requires project.

exec_sandbox

write

Run a command in a running sandbox on a Porter cluster that has sandboxes enabled, and return its stdout, stderr, and exit code. A non-zero exit_code is a normal result, not a tool error. The sandbox must be in phase running; check with get_sandbox. Each stream is capped to its last 32 KB, with truncated=true when either was cut, so for large output redirect to a file inside the sandbox and read slices with head, tail, or grep. Keep commands under about a minute; for longer work start it in the background with output redirected to a file, then poll with short commands. Commands are recorded in the sandbox's event log, so never put secrets in a command; pass them as env at create_sandbox. Accepts a cluster name or ID. Requires project.

get_addon_status

read

Report where an addon on a Porter cluster is in its install, changing nothing. Poll it after install_addon or update_addon, waiting between calls, until status is installed, waiting_for_sso, or failed. waiting_for_sso means QM runs but oidc sign-in has no client ID yet; read error_message first, and if it is empty finish sign-in with update_addon. not_found is a status, not an error, so it is safe to poll after delete_addon.

get_addons

read

List the addons installed on a Porter cluster with each addon's type, install status, and, for QM, its URL and sign-in state. Accepts a cluster name or ID. Requires project. Call before install_addon to see whether QM is already there.

get_app_logs

read

Fetch capped runtime logs for a Porter app. Filter by time window, service, revision, search, pod/container. Requires project. Returns truncated=true when capped.

get_application

read

Return configuration for a Porter app and its services. Accepts an app name or UUID. Requires project. Never returns variables, secrets, or environment_groups.

get_application_metrics

read

Query one time-series metric for one Porter application service. Returns resolved context, the effective bounded UTC query, and normalized series without diagnoses or summaries.

get_application_revisions

read

List revisions for a Porter app (newest first), returning up to 50 at a time with cursor pagination. Accepts an app name or UUID. Requires project.

get_application_status

read

Return status for a Porter app: resolved IDs plus current revision and process health. Accepts an app name or UUID. Requires project. Does not include revision history, logs, or notifications.

get_applications

read

List applications in a Porter project with cursor-based pagination, optionally filtered by name or deployment target. Accepts a project ID or exact name. Each response is one page; pass nextCursor as cursor with the same project to continue until nextCursor is omitted. The cursor preserves the original filters.

get_build_status

read

Report which stage of its build and deploy pipeline a Porter app is in: the latest build, pre-deploy, and deploy step, each progressing, success, or failed. Poll it to follow a deploy, for example after create_app's workflow pull request is merged, until every step is success or one is failed. Steps are the latest of each kind and can come from different pipeline runs, so compare commit_sha before reading them as one run. Accepts an app name or UUID. Requires project. Does not include build logs.

get_cloud_account_status

read

Report where a cloud account sits in the Porter connect flow, changing nothing. This is the polling companion to connect_cloud_account: poll it and follow next_step, rather than polling for one fixed state. Before Porter has created the cloud account this tool tops out at cloudformation_applied (AWS), awaiting_azure_setup (Azure), or awaiting_gcp_bootstrap (GCP) with next_step call_connect_cloud_account: only connect_cloud_account creates the account, so polling alone never reaches connected. Once an AWS account exists, poll until state is connected or not_connected; setup normally takes under a minute, and Porter gives up after 90 minutes. An Azure subscription connects synchronously inside connect_cloud_account, so its state never changes on its own: report it once and act on next_step rather than polling. A GCP project stays awaiting_gcp_bootstrap until the user has run the setup command in Cloud Shell, then moves to finalizing_connection while percent_complete rises, then connected; the setup command stops working 30 minutes after connect_cloud_account handed it out.

get_cluster_node_groups

read

List node groups in a Porter cluster, including autoscaling bounds and cost-optimization (Karpenter) status. Accepts a cluster name or ID. Requires project.

get_cluster_nodes

read

List nodes in a Porter cluster with resource capacity, usage, and reservation metrics. Accepts a cluster name or ID. Requires project.

get_cluster_pod

read

Get full detail for one pod in a Porter cluster the caller can access: owning controller, resource usage, restart count, recent events, Kubernetes metadata, extended status, and spec. Requires project, cluster, namespace, and pod_name.

get_cluster_pods

read

List pods in a Porter cluster, with status, readiness, restarts, node placement, and resource usage. Accepts a cluster name or ID. Requires project. No namespace or pod-name filtering. Returns truncated=true when capped.

get_cluster_status

read

Report how far a Porter cluster has got through provisioning, changing nothing. Provisioning can take up to an hour: poll until status is completed or failed, and do other work between polls rather than waiting on this call. Nothing can be deployed to the cluster until this reports completed. Accepts a cluster name or ID. Requires project.

get_clusters

read

List clusters in a Porter project. Accepts a project ID or exact name.

get_job_run

read

Return one job run's status by its exact run name. Accepts an app name or UUID. Requires project. Searches the job's most recent 100 runs; job_run_name is the run name returned when the job was triggered. This tool does not return run history or logs; use list_job_runs for history and get_app_logs with its job_run_name filter set to the run name for output.

get_load_balancers

read

List load balancers for a Porter cluster. Accepts a cluster name or ID. Requires project.

get_node_group_metrics

read

Get provisioned node-group size over time for a Porter cluster. Fixed-size groups report node count (unit=count); cost-optimized (Karpenter) groups report provisioned CPU cores (unit=cores).

get_notifications

read

List runtime notification events for a Porter app (newest first), returning up to 20 at a time with cursor pagination. Each notification carries its error code and the service, pod, and container it came from. Accepts an app name or UUID. Requires project. A page can come back empty while nextCursor is still set, so follow the cursor instead of reading an empty page as the end of the history. Does not cover deploy failures or rollbacks, and cannot dismiss notifications.

get_project

read

Return a Porter project's settings: currently whether it can claim a Porter Cloud cluster. Call it when get_clusters returns no clusters for the project. When porter_cloud_enabled is true, ask the user whether to deploy on Porter Cloud and, on yes, call create_app with cluster omitted; when porter_cloud_enabled is false, connect a cloud account and create a cluster instead. Accepts a project ID or exact name.

get_projects

read

List projects the caller can access.

get_sandbox

read

Return one sandbox's current state on a Porter cluster that has sandboxes enabled. Use after create_sandbox to poll until phase is running before calling exec_sandbox. Phases are queued, creating, running, succeeded, failed, and terminated. succeeded, failed, and terminated are terminal; termination_reason and exit_code explain why the sandbox ended. Accepts a cluster name or ID. Requires project.

get_sandbox_settings

read

Return whether sandboxes are enabled and ready on a Porter cluster, along with the cluster's sandbox settings: warm pool, egress enforcement, and domains. Use after enable_sandboxes to poll until ready is true; if ready stays false, get_cluster_status shows whether the sandbox node group is still provisioning or has failed. Settings come back empty until ready is true, because the runtime writes its defaults when it installs. Accepts a cluster name or ID. Requires project.

install_addon

write

Install the QM addon (Porter's harness for agents to share context and files across an organization) onto a Porter cluster. Use for requests to set up, install, deploy, or try QM. In oidc mode the provider usually needs the callback URL before it issues a client ID: install without client_id, register an app with the returned oidc_callback_url, then set client_id and client_secret with update_addon. Secret values passed here persist in the conversation transcript; say so before asking the user for them. Returns immediately with next_step: poll get_addon_status until status is installed, waiting_for_sso, or failed. Fails if an addon with this name exists on the cluster and never updates one. Call get_addons first, and after a timeout call get_addon_status instead of installing again.

list_aws_quota_requests

read

List quota increase requests filed with AWS for a cloud account in a region, with each request's status (pending, approved, denied), desired quota, and creation time. Use to follow up on an insufficient check_aws_cluster_quota result before advising the user to request an increase, so an already-pending request is not duplicated. AWS only: a cloud account on any other provider is an error, because quota increase requests do not exist outside AWS. Accepts a project ID or exact name and a cloud account ID.

list_cloud_accounts

read

List the cloud accounts connected to a Porter project, with each account's provider, the provider's own account ID, and where it sits in the connect flow. Use it to pick the cloud_account_id for create_cluster, check_aws_cluster_quota, and list_aws_quota_requests: only an account with status connected can be provisioned into, so when exactly one is connected use it without asking, and when several are ask the user which. When none are connected, connect one with connect_cloud_account. Accepts a project ID or exact name.

list_job_runs

read

List recent runs for a job service on a Porter app, newest first. Omit job_name to include runs from all job services. Accepts an app name or UUID. Requires project. Results are capped at the requested limit; truncated=true means older runs exist, but this tool cannot page further. Cron-triggered and manually triggered runs both appear. This tool does not trigger, cancel, or wait for job runs.

list_sandboxes

read

List sandboxes on a Porter cluster that has sandboxes enabled, newest first, up to 100 per page. Sandboxes that already finished (succeeded, failed, or terminated) stay in the list as history. When truncated is true, request the next page. This tool does not filter. phase and exit_code here come from a periodic snapshot; use get_sandbox for one sandbox's current state and timestamps. Accepts a cluster name or ID. Requires project.

redeploy_application

destructive

Redeploy an existing Porter app at its current configuration, restarting all services with zero configuration changes and creating a new revision. Calling this tool triggers the redeploy immediately; there is no dry run or confirmation parameter. Deployment runs asynchronously; follow with get_application_status to monitor progress. Use redeploy_application to restart or retry with the current configuration; use update_application to change configuration. A redeploy may pull a newer image for mutable tags such as latest.

trigger_job_run

write

Start a run of a job service on an existing Porter app. Calling this tool starts the run immediately; there is no dry run or confirmation parameter. The run proceeds asynchronously; use get_job_run for status and get_app_logs for output. Accepts an app name or UUID. Requires project. The app must have a successful deploy because the run uses its latest successfully deployed revision. Set run by itself, or use entrypoint and args separately or together; run cannot be combined with either. Set allow_concurrent=true when the job refuses because a run is already in flight.

update_addon

destructive

Change the configuration of an installed QM addon and roll the change out. Only the fields given change, and a stored value cannot be cleared, only replaced. Use it to finish oidc sign-in after install_addon (set qm.auth.oidc.client_id and client_secret), to rotate a key, or to add a custom domain. Omit qm.auth.mode to keep the current sign-in provider; setting a different mode switches providers and needs that provider's fields in the same call. Secret values passed here persist in the conversation transcript. Returns immediately: poll get_addon_status until status is installed or failed. Fails if the addon does not exist; install_addon creates one.

update_application

destructive

Validate or deploy a delta to an existing Porter app. Dry run defaults to true: first validate, confirm the resulting configuration, then call again with dry_run=false to create a revision and deploy. Services are merged by name so omitted fields and services are preserved; use delete_services for explicit removal. Dashboard-only service settings such as node-group assignment, connections, sleep, service mesh, termination grace, metrics scraping, and advanced routing, TLS, or auth are preserved on existing services but cannot be changed. Build configuration updates do not change the GitHub source or trigger its workflow. Changes to CI-managed porter.yaml apps may be overwritten by the next push. Never accepts or returns variables, secrets, or environment groups.

update_sandbox_settings

destructive

Change sandbox settings on a Porter cluster that has sandboxes enabled: the warm pool of pre-booted sandboxes, and whether egress allowlists are enforced. Only the fields provided change, and at least one is required. warm_pool replaces the existing pool; its total CPU (size times cpu_millicores) must fit the sandbox node group's CPU cap, 20 cores by default. With egress enabled, a sandbox created with allowed_destinations can reach only those plus cluster DNS; sandboxes created without it keep public internet access. Changing egress restarts the sandbox runtime and rebuilds the warm pool; until that rollout finishes, create_sandbox with allowed_destinations is rejected as unavailable, and any sandbox created mid-rollout can terminate with backend_lost, so retry later. Returns the saved settings before the runtime has applied them. Accepts a cluster name or ID. Requires project.

Connect Porter MCP to your agent

One endpoint, the same key, whichever client you use.

Apps

SDKs

Claude Desktop

Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json (Mac) · %APPDATA%\Claude\claude_desktop_config.json (Windows)

JSON
{
  "mcpServers": {
    "mewcp": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote@latest",
        "https://gateway.mewcp.com/personal/mcp",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer API_KEY"
      }
    }
  }
}

Replace API_KEY with your own key.

Already have an "mcpServers" section in your config? Just add the server entry inside it.

  1. 01Open Claude Desktop → Settings → Developer → "Edit Config"
  2. 02Paste the snippet inside the outer { } of the config file (merge with your existing "mcpServers" section if you have one)
  3. 03Save the file, then quit Claude Desktop completely and reopen it
  4. 04Start a new conversation — your tool will be available

One endpoint. Every service.

VS CodeAny agent
One Gateway

Firecrawl

API Key

Github

OAuth

HTTP

No auth

Porter MCP

OAuth

Discovery, routing, credentials, tool scoping and execution logs all happen at the gateway→connections stay ACTIVE with no work from you

Separate connections░░░░░░░░░░░░░░░░░░░░░░░░░░░░118 tool definitions ~21k tokensWith MewCP░░░░░░░░░░░░░░░░░░░░░░░░░░░░4 meta-tools ~2.5k tokens

Built for AI agents

Porter MCP runs through a gateway that holds the credentials, scopes the access and records every call.

Managed authentication

  • OAuth to Porter MCP handled end to end, with tokens refreshed before they expire.
  • One credential per end user, not one shared key across your users.
  • Reconnect an account without touching your agent's config.

Credentials stay out of context

  • Porter MCP credentials are resolved at the gateway and attached to the outbound call.

Ready to connect Porter MCP?

Managed auth, hosted MCP servers, and every Porter MCP tool your agent needs.

Free to start.

  • The agent sees tool results, never a token.
  • Revoke an account and the next call stops working — no redeploy.
  • Scoped access, fully logged

    • Choose exactly which Porter MCP tools an agent is allowed to call.
    • Every call is logged with its outcome, latency and which account it ran as.
    • Catalog changes are reviewed before they ship, so tool descriptions cannot shift under you.

    One endpoint for every server

    • Reach Porter MCP through the same MCP endpoint as the rest of your toolset.
    • Tools are discovered on demand, so 47 tools do not fill the context window.
    • Stateless: no sessions to keep alive and no reconnect logic.