Partiri Cloud MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| PORT | No | HTTP server port. | 3000 |
| MCP_BASE_URL | No | Public URL of the MCP server. Required for HTTP transport in production. | http://localhost:{PORT} |
| MCP_DATA_DIR | No | Persistent directory for client registrations and token secret. | |
| MCP_READONLY | No | When truthy, only read-only tools are registered. | false |
| MCP_TRANSPORT | No | Transport mode: stdio or http. | stdio |
| PARTIRI_API_KEY | No | API key for the Partiri REST API. Required for stdio transport. | |
| PARTIRI_API_URL | No | Partiri API base URL. | https://api.partiri.cloud |
| PARTIRI_TIMEOUT | No | API request timeout in seconds. | 30 |
| PARTIRI_WEB_URL | No | Hosted Partiri web app URL for OAuth sign-in redirect. | https://partiri.cloud |
| MCP_MAX_SESSIONS | No | Max concurrent MCP sessions. | 1000 |
| MCP_TOKEN_SECRET | No | 32-byte hex key (64 chars) for token encryption. Required for HTTP transport in production. | |
| MCP_TOOLS_DENYLIST | No | Comma-separated tool names to remove. | |
| MCP_ALLOWED_ORIGINS | No | Comma-separated browser Origins allowed on /mcp. | claude.ai, claude.com, chatgpt.com, chat.openai.com |
| MCP_TOOLS_ALLOWLIST | No | Comma-separated tool names to enable on top of the base set. | |
| MCP_TRUSTED_PROXIES | No | Trusted proxy IP(s)/CIDR(s) for client-IP rate limiting. | loopback |
| MCP_SESSION_TTL_MINUTES | No | Session inactivity timeout in minutes. | 30 |
| MCP_MAX_SESSIONS_PER_KEY | No | Max sessions per API key. | 5 |
| MCP_ALLOWED_REDIRECT_HOSTS | No | Comma-separated OAuth redirect hosts allowed in addition to loopback. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_workspacesA | List all workspaces the authenticated user has access to. Returns id, name, and email for each workspace. Use a workspace id with list_projects, list_pods, or list_regions. |
| get_current_userA | Get the profile of the currently authenticated user. Returns id, email, and name. |
| list_projectsA | List all projects in a workspace. Returns id, name, and environment for each project. Get a workspace id from list_workspaces first. Use a project id with list_services. |
| create_projectA | Create a new project in a workspace. Returns the created project with its id. Get a workspace id from list_workspaces first. |
| list_podsA | List available compute pods (instance types) for a workspace. Returns id, name, label, cpu, and ram for each pod. Use a pod id when creating a service with create_service. |
| list_regionsA | List available deployment regions for a workspace. Returns id, name, label, and country_code for each region. Use a region id when creating a service with create_service. |
| get_pricingA | Get pod and volume pricing for a region. Returns pod prices (monthly, per-minute) and volume price per GB per month. Use a region id from list_regions. Useful for estimating monthly cost before creating a service. |
| get_balanceA | Get the current workspace balance. Returns currency, amount, and last-updated timestamp. Requires billing:r permission — degrades gracefully (returns null) on a 403. Use this to warn the user before creating services. |
| validate_serviceA | Preflight-validate a service configuration before creating or updating it. Checks source XOR rule (repository vs registry), deploy_type/runtime compatibility, and name length (≤16). When probeReachability is set, performs an OUTBOUND network probe of the supplied git repository or registry URL (not side-effect-free). Returns a list of checks with ok/fail status. |
| list_volumesA | List persistent volumes in a project. Returns id, name, size, mount_path, status, and attached service for each volume. Status can be: pending, provisioning, available, attached, deleting, or failed. |
| get_volumeA | Get details of a single persistent volume by ID. |
| list_servicesA | List all services in a project. Returns a summary (id, name, runtime, deploy_type, deploy_tag, active) for each service — call get_service for full configuration. Get a project id from list_projects first. Returns at most |
| get_serviceA | Get full configuration of a service including repository, build commands, region, pod, and deploy tag. Environment variables are omitted from the response — they hold secrets and are managed out-of-band via the partiri CLI (see use_partiri_cli). Use list_services to find service IDs. |
| create_serviceA | Create a new service in a project. Requires exactly one source (repository URL or registry URL), a compute pod, and a region. Get IDs from list_projects, list_pods, and list_regions. Returns the created service with its id. Supported deploy types: webservice, static, private-service, worker (long-running background process with no inbound network — no port, no URL, no health check); for static the runtime is forced to "static" server-side. Environment variables are NOT set here — manage them with the partiri CLI (see use_partiri_cli). |
| update_serviceA | Update an existing service configuration. Only include fields you want to change. Use get_service to see current values first. Environment variables are NOT managed here — use the partiri CLI (see use_partiri_cli). |
| deploy_serviceA | Trigger a new deployment. Checks workspace balance and enforces a 10-minute cooldown. Use list_jobs to check deployment status afterward. |
| pause_serviceA | Pause a running service. The service will stop receiving traffic but can be unpaused later. |
| unpause_serviceA | Resume a paused service. |
| list_jobsA | List deployment jobs for a service. Returns job id, type, status (open, in_progress, succeeded, failed, canceled, timed_out), and timestamps. Use after deploy_service to track progress. |
| get_cpu_metricsA | Get CPU usage metrics (average, peak, current in cores) for a service. Automatically uses the current deploy tag if not specified. Use get_service to find service IDs. |
| get_memory_metricsA | Get memory usage metrics (average, peak, current in bytes) for a service. Automatically uses the current deploy tag if not specified. Use get_service to find service IDs. |
| get_network_metricsA | Get network download and upload metrics (bytes/s) for a service. Automatically uses the current deploy tag if not specified. Use get_service to find service IDs. |
| use_partiri_cliA | Guidance for running the locally-installed |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| Platform overview | What Partiri Cloud is, supported service types, and infrastructure overview |
| First deployment guide | Step-by-step guide to deploying your first application on Partiri |
| FAQ | Frequently asked questions about domains, regions, billing, private repos, and free tier |
| Migration guide | How to migrate from Heroku, Railway, or Render to Partiri |
| Security & compliance | GDPR compliance, container isolation, TLS, and API security details |
| Troubleshooting | Common issues: build failures, startup crashes, health checks, stuck deployments, DNS |
| Web service | Public-facing web services with custom domains and TLS |
| Private service | Internal services not exposed to the public internet |
| Worker | Long-running background processes with no inbound network — queue consumers and similar egress-only jobs |
| Static website | Static asset hosting for SPAs, docs sites, and landing pages |
| Persistent storage (volumes) | Persistent volumes for stateful services — read via MCP, mutate via the partiri CLI |
| Service creation workflow | Step-by-step guide to creating a service with credentials, cost estimate, and storage |
| How deployments work | Overview of the deployment process: source, build, deploy, and tracking |
| Supported runtimes | List of all supported language runtimes: Node.js, Deno, Python, Go, Rust, Ruby, Elixir, PHP, JVM, .NET, C++, Static |
| Git providers | Supported Git providers: GitHub, GitLab, Bitbucket, Codeberg |
| Registry providers | Supported container registries: Docker Hub, AWS ECR, Google Artifact Registry |
| Scaling & pod sizes | Pod sizes, CPU/memory allocation, and billing model |
| Zero-downtime deployments | Rolling update strategy and what happens when deployments fail |
| Rollbacks | How to revert to a previous deployment version |
| Deployment status | Monitoring deployment progress and status tracking |
| Monitoring | Available metrics: CPU, memory, and network traffic charts |
| Framework & runtime guides | Per-runtime deployment guides for all 12 supported languages and static sites |
| Webhooks | Automatic deployments triggered by Git push events |
| Environment variables | How to configure runtime environment variables for services |
| Health checks | Configuring health check endpoints for automatic service monitoring |
| Credentials | Setting up authentication for private Git repos and container registries |
| Deploy hooks | Unique URLs that trigger deployments via HTTP POST for CI/CD pipelines |
| Monorepo support | Deploying multiple services from different subdirectories in one repository |
| API keys | How API key authentication works for the Partiri API and CLI |
| Workspaces | Workspace organization, team members, and role assignment |
| Billing | Pay-as-you-go billing model, workspace balance, and transaction history |
| Team roles | Role-based access control: Admin, Management, and User permissions |
| CLI commands | Complete list of Partiri CLI commands with descriptions |
| .partiri.jsonc config reference | Complete .partiri.jsonc configuration file reference with annotated example and field documentation |
| Service configuration fields | Quick reference for all service configuration fields used in create_service and update_service tools |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Partiri-Cloud/harbor-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server