---
title: "Portkey MCP server for AI agents - actionlake"
description: "Give Claude 248 Portkey actions through one MCP server: assistants, prompts. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/portkey
updated: 2026-10-23
---

Connectors · AI

# Portkey MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Portkey and the rest of your systems. It gives your agent 248 Portkey actions (121 reads, 88 writes and 39 that wait for a confirmation) and holds the Portkey credential itself, so the agent never does. It paces Portkey's limits and records every call.

[Connect Portkey free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "portkey.users.list_users",
  intent: "check which Portkey account is connected"
}
# Get users · read · 1 upstream call
```

- 248 actions in one signed file
- 121 read look, never change
- 88 write create and update
- 39 wait for a yes destructive, confirmed first

Set up

## Connect Portkey in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Portkey.
   API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `api_key` Portkey API key
   ```
   account { op: "connections.requirements", service: "portkey" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "portkey.users.list_users" }
   # get users · read · 1 upstream call
   check { action: "portkey.users.delete_user", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Portkey at a glance

**Sign-in**

API key. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`api_key`

**Limits we pace to**

600 calls a minute, per connection

**API covered**

Portkey API 2.0.0 (OpenAPI 3, api.portkey.ai/v1)`api.portkey.ai/v1`

**Built from**

Portkey's documentation, read 23 October 2026[OpenAPI spec (GitHub)](https://raw.githubusercontent.com/Portkey-AI/openapi/master/openapi.yaml) [portkey.ai](https://portkey.ai/docs/api-reference/admin-api/introduction)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

112 of 121 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

3, so ask can line Portkey up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Portkey.

248 actions in 43 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **121** read look, never change
- **88** write create and update
- **39** destructive wait for a confirmation

1. ### Assistants
   23
   9 read · 10 write · 4 destructive
   Create an assistant with a model and instructions · Create a message · Create a run · Create a thread
2. ### Prompts
   18
   8 read · 8 write · 2 destructive
   Create a new prompt · Prompts Completions · Create a new prompt partial · Get all versions of a prompt partial
3. ### Analytics graphs
   17
   17 read · 0 write · 0 destructive
   Get cache hit rate graph · Get cache hit latency graph · Get cost graph · Get errors graph
4. ### Vector stores
   13
   6 read · 4 write · 3 destructive
   Create a vector store · Create a vector store file by attaching a [File](https://platform.openai.com/docs/api-reference/files) to a [vector store](https://platform.openai.com/docs/api-reference/vector-stores/object) · Create a vector store file batch · Returns a list of vector store files in a batch
5. ### Inference
   9
   1 read · 8 write · 0 destructive
   Messages · Chat · Completions · Embeddings
6. ### Logs
   9
   4 read · 4 write · 1 destructive
   Create log export · Insert New logs · Get all logs exports · Download log export
7. ### Users
   9
   4 read · 3 write · 2 destructive
   Get users · Get user · Update user · Remove a user
8. ### Guardrails
   8
   3 read · 4 write · 1 destructive
   Create a new guardrail · List MCP server mappings · List guardrails · Bulk sync MCP server mappings

**35 more areas · 142 actions**

- Workspaces **8**
- Analytics groups **7**
- Usage limits policies **7**
- API keys **6**
- Configs **6**
- Deployments **6**
- Fine tuning **6**
- MCP servers **6**
- Access policies **5**
- Collections **5**
- Egress allowlist **5**
- Integrations **5**
- Labels **5**
- MCP integrations **5**
- Providers **5**
- Rate limits policies **5**
- Secret references **5**
- Virtual keys **5**
- Workspace members **5**
- Batches **4**
- Responses **4**
- Files **3**
- Integrations models **3**
- Models **3**
- Feedback **2**
- Integrations workspaces **2**
- MCP integrations capabilities **2**
- MCP integrations workspaces **2**
- MCP servers capabilities **2**
- MCP servers connections **2**
- MCP servers user access **2**
- Analytics summary **1**
- Audit logs **1**
- MCP integrations metadata **1**
- Model pricing **1**

Top actions

## The Portkey API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems. 17 of Portkey's 17 action names are shared with at least one other connector, so an agent learns them once.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `portkey.users.list_users` Get users | Get users. | read | `identity.user.list` 474 connectors |
| `portkey.users.get_user` Get user | Get user. | read | `identity.user.get` 399 connectors |
| `portkey.workspaces.list_workspaces` Get All Workspaces | Get All Workspaces. | read | `work.workspace.list` 50 connectors |
| `portkey.users.delete_user` Remove a user | Remove a user. | destructive | `identity.user.delete` 253 connectors |
| `portkey.workspace_members.list_members` Get workspace members | Get workspace members. | read | `work.workspace_member.list` 26 connectors |
| `portkey.api_keys.create_api_key` Create API Keys | Create API Keys. | write | `identity.api_key.create` 100 connectors |
| `portkey.api_keys.list_api_keys` Get All | Get All. | read | `identity.api_key.list` 96 connectors |
| `portkey.workspaces.create_workspace` Create Workspace | Create Workspace. | write | `work.workspace.create` 36 connectors |
| `portkey.workspace_members.update_member` Update workspace member | Update workspace member. | write | `work.workspace_member.update` 16 connectors |
| `portkey.files.list_files` List Files | List Files. | read | this connector |
| `portkey.logs.insert_logs` Insert New logs | Insert New logs. | write | this connector |
| `portkey.labels.list_labels` List labels | List labels. | read | this connector |

Try it

## Prompts to paste into Claude.

Each one names the Portkey actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Who has access in Portkey? List every user and their role.
   calls `portkey.users.list_users`
2. Write write
   Create API Keys in Portkey. Show me exactly what you will send before you save it.
   calls `portkey.api_keys.create_api_key`

Governance for Portkey

## Destructive actions wait for a yes.

39 Portkey actions are destructive. The first 10:

- Remove a user `portkey.users.delete_user`
- Remove an API Key `portkey.api_keys.delete_api_key`
- Delete a workspace `portkey.workspaces.delete_workspace`
- Delete File `portkey.files.delete_file`
- Delete a label `portkey.labels.delete_label`
- Delete a fine-tuned model. You must have the Owner role in your organization to delete a model `portkey.models.delete_model`
- Delete Invite By ID `portkey.users.delete_invite`
- Delete a config `portkey.configs.delete_config`
- Delete a prompt `portkey.prompts.delete_prompt`
- Rotate API Key `portkey.api_keys.rotate_api_key`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do portkey.users.delete_user confirm_policy: **human**

Remove a user?

**intent:** the user asked me to remove a user

run suspended · waiting for a named person · key _portkey-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "portkey-agent",
  allowed_actions: ["portkey.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "portkey.users.delete_user", approver: "lead@example.com" },
    { match: "portkey.api_keys.delete_api_key", approver: "lead@example.com" },
    { match: "portkey.workspaces.delete_workspace", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Portkey only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Portkey costs on actionlake.

Every Portkey action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Portkey refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 248 Portkey actions
- 248 actions page each page of a long list is one call
- 112 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Portkey action.

248 actions by area: the id your agent calls, what it does, and its effect.

**Assistants 23**

- `portkey.assistants.cancel_run` Cancels a run that is `in_progress` destructive
- `portkey.assistants.create_assistant` Create an assistant with a model and instructions write
- `portkey.assistants.create_message` Create a message write
- `portkey.assistants.create_run` Create a run write
- `portkey.assistants.create_thread` Create a thread write
- `portkey.assistants.create_thread_and_run` Create a thread and run it in one request write
- `portkey.assistants.delete_assistant` Delete an assistant destructive
- `portkey.assistants.delete_message` Deletes a message destructive
- `portkey.assistants.delete_thread` Delete a thread destructive
- `portkey.assistants.get_assistant` Retrieves an assistant read
- `portkey.assistants.get_message` Retrieve a message read
- `portkey.assistants.get_run` Retrieves a run read
- `portkey.assistants.get_run_step` Retrieves a run step read
- `portkey.assistants.get_thread` Retrieves a thread read
- `portkey.assistants.list_assistants` Returns a list of assistants read
- `portkey.assistants.list_messages` Returns a list of messages for a given thread read
- `portkey.assistants.list_run_steps` Returns a list of run steps belonging to a run read
- `portkey.assistants.list_runs` Returns a list of runs belonging to a thread read
- `portkey.assistants.modify_assistant` Modifies an assistant write
- `portkey.assistants.modify_message` Modifies a message write
- `portkey.assistants.modify_run` Modifies a run write
- `portkey.assistants.modify_thread` Modifies a thread write
- `portkey.assistants.submit_tool_ouputs_to_run` When a run has the `status: "requires_action"` and `required_action.type` is `submit_tool_outputs`, this endpoint can be used to submit the outputs from the tool calls once they're all completed. All outputs must be submitted in a single request write

**Prompts 18**

- `portkey.prompts.create_prompt` Create a new prompt write
- `portkey.prompts.create_prompt_completion` Prompts Completions write
- `portkey.prompts.create_prompt_partial` Create a new prompt partial write
- `portkey.prompts.create_prompt_render` Prompts Render read
- `portkey.prompts.delete_prompt` Delete a prompt destructive
- `portkey.prompts.delete_prompt_partial` Delete a prompt partial destructive
- `portkey.prompts.get_prompt` Get a prompt by ID or slug read
- `portkey.prompts.get_prompt_by_version` Get a specific version of a prompt read
- `portkey.prompts.get_prompt_partial` Get a prompt partial by ID or slug read
- `portkey.prompts.get_prompt_partial_versions` Get all versions of a prompt partial read
- `portkey.prompts.get_prompt_versions` Get all versions of a prompt read
- `portkey.prompts.list_prompt_partials` List prompt partials read
- `portkey.prompts.list_prompts` List prompts read
- `portkey.prompts.update_prompt` Update a prompt write
- `portkey.prompts.update_prompt_default` Set a version as the default for a prompt write
- `portkey.prompts.update_prompt_partial` Update a prompt partial write
- `portkey.prompts.update_prompt_partial_default` Set a version as the default for a prompt partial write
- `portkey.prompts.update_prompt_version` Update a specific version of a prompt write

**Analytics graphs 17**

- `portkey.analytics_graphs.get_cache_hit_rate` Get cache hit rate graph read
- `portkey.analytics_graphs.get_cache_latency` Get cache hit latency graph read
- `portkey.analytics_graphs.get_cost` Get cost graph read
- `portkey.analytics_graphs.get_errors` Get errors graph read
- `portkey.analytics_graphs.get_errors_rate` Get percentage error rate graph read
- `portkey.analytics_graphs.get_errors_stacks` Get status code wise stacked error graph read
- `portkey.analytics_graphs.get_errors_status_codes` Get status code wise grouped error graph read
- `portkey.analytics_graphs.get_feedbacks` Get feedbacks graph read
- `portkey.analytics_graphs.get_feedbacks_ai_models` Get feedbacks per ai_models graph read
- `portkey.analytics_graphs.get_feedbacks_scores` Get score-wise feedbacks distribution graph read
- `portkey.analytics_graphs.get_feedbacks_weighted` Get weighted feedbacks graph. Weighted feedback is (value * score) read
- `portkey.analytics_graphs.get_latency` Get latency graph read
- `portkey.analytics_graphs.get_requests` Get requests graph read
- `portkey.analytics_graphs.get_requests_rescued` Get retry and fallback rescued requests graph read
- `portkey.analytics_graphs.get_tokens` Get tokens graph read
- `portkey.analytics_graphs.get_users` Get users graph. Returns unique user count across different time buckets read
- `portkey.analytics_graphs.get_users_requests` Get users requests graph. Returns average requests per user across different time buckets read

**Vector stores 13**

- `portkey.vector_stores.cancel_vector_store_file_batch` Cancel a vector store file batch. This attempts to cancel the processing of files in this batch as soon as possible destructive
- `portkey.vector_stores.create_vector_store` Create a vector store write
- `portkey.vector_stores.create_vector_store_file` Create a vector store file by attaching a [File](https://platform.openai.com/docs/api-reference/files) to a [vector store](https://platform.openai.com/docs/api-reference/vector-stores/object) write
- `portkey.vector_stores.create_vector_store_file_batch` Create a vector store file batch write
- `portkey.vector_stores.delete_vector_store` Delete a vector store destructive
- `portkey.vector_stores.delete_vector_store_file` Delete a vector store file. This will remove the file from the vector store but the file itself will not be deleted. To delete the file, use the [delete file](https://platform.openai.com/docs/api-reference/files/delete) endpoint destructive
- `portkey.vector_stores.get_vector_store` Retrieves a vector store read
- `portkey.vector_stores.get_vector_store_file` Retrieves a vector store file read
- `portkey.vector_stores.get_vector_store_file_batch` Retrieves a vector store file batch read
- `portkey.vector_stores.list_files_in_vector_store_batch` Returns a list of vector store files in a batch read
- `portkey.vector_stores.list_vector_store_files` Returns a list of vector store files read
- `portkey.vector_stores.list_vector_stores` Returns a list of vector stores read
- `portkey.vector_stores.modify_vector_store` Modifies a vector store write

**Inference 9**

- `portkey.inference.count_anthropic_message_tokens` Count Message Tokens read
- `portkey.inference.create_anthropic_message` Messages write
- `portkey.inference.create_chat_completion` Chat write
- `portkey.inference.create_completion` Completions write
- `portkey.inference.create_embedding` Embeddings write
- `portkey.inference.create_image` Create Image write
- `portkey.inference.create_moderation` Identify potentially harmful content in text and images. **Only** works with [OpenAI's Moderations endpoint](https://platform.openai.com/docs/guides/moderation) currently write
- `portkey.inference.create_ocr` OCR write
- `portkey.inference.create_rerank` Rerank write

**Logs 9**

- `portkey.logs.cancel_log_export` Cancel log export destructive
- `portkey.logs.create_log_export` Create log export write
- `portkey.logs.download_log_export` Download log export read
- `portkey.logs.get_log` Get a specific log read
- `portkey.logs.get_log_export` Get a specific logs export read
- `portkey.logs.insert_logs` Insert New logs write
- `portkey.logs.list_log_exports` Get all logs exports read
- `portkey.logs.start_log_export` Start log export write
- `portkey.logs.update_log_export` Update a logs export write

**Users 9**

- `portkey.users.create_invite` Invite User write
- `portkey.users.delete_invite` Delete Invite By ID destructive
- `portkey.users.delete_user` Remove a user destructive
- `portkey.users.get_invite` Get Invite read
- `portkey.users.get_user` Get user read
- `portkey.users.list_invites` Get All Invites read
- `portkey.users.list_users` Get users read
- `portkey.users.resend_invite` Resend Invite write
- `portkey.users.update_user` Update user write

**Guardrails 8**

- `portkey.guardrails.bulk_sync_guardrail_mcp_servers` Bulk sync MCP server mappings write
- `portkey.guardrails.create_guardrail` Create a new guardrail write
- `portkey.guardrails.delete_guardrail` Delete a guardrail destructive
- `portkey.guardrails.get_guardrail` Get a specific guardrail read
- `portkey.guardrails.list_guardrail_mcp_servers` List MCP server mappings read
- `portkey.guardrails.list_guardrails` List guardrails read
- `portkey.guardrails.update_guardrail` Update a guardrail write
- `portkey.guardrails.upsert_guardrail_mcp_server` Upsert single MCP server mapping write

**Workspaces 8**

- `portkey.workspaces.create_scim_workspace_mapping` Create SCIM Group to Workspace Mapping write
- `portkey.workspaces.create_workspace` Create Workspace write
- `portkey.workspaces.delete_scim_workspace_mapping` Delete SCIM Group to Workspace Mapping destructive
- `portkey.workspaces.delete_workspace` Delete a workspace destructive
- `portkey.workspaces.get_workspace` Get workspace read
- `portkey.workspaces.list_scim_workspace_mappings` List SCIM Group to Workspace Mappings read
- `portkey.workspaces.list_workspaces` Get All Workspaces read
- `portkey.workspaces.update_workspace` Update Workspace write

**Analytics groups 7**

- `portkey.analytics_groups.list_a2a` Get A2A (agent-to-agent) grouped data read
- `portkey.analytics_groups.list_ai_models` Get ai model grouped data read
- `portkey.analytics_groups.list_mcp` Get MCP server grouped data read
- `portkey.analytics_groups.list_metadata` Get metadata key based grouped data read
- `portkey.analytics_groups.list_provider` Get provider grouped data read
- `portkey.analytics_groups.list_users` Get metadata users grouped data read
- `portkey.analytics_groups.list_workspaces` Get workspace grouped data read

**Usage limits policies 7**

- `portkey.usage_limits_policies.create_usage_limits_policy` Create Usage Limits Policy write
- `portkey.usage_limits_policies.delete_usage_limits_policy` Delete Usage Limits Policy destructive
- `portkey.usage_limits_policies.get_usage_limits_policy` Get Usage Limits Policy read
- `portkey.usage_limits_policies.list_usage_limits_policies` List Usage Limits Policies read
- `portkey.usage_limits_policies.list_usage_limits_policy_entities` List Usage Limits Policy Entities read
- `portkey.usage_limits_policies.reset_usage_limits_policy_entity` Reset Usage Limits Policy Entity write
- `portkey.usage_limits_policies.update_usage_limits_policy` Update Usage Limits Policy write

**API keys 6**

- `portkey.api_keys.create_api_key` Create API Keys write
- `portkey.api_keys.delete_api_key` Remove an API Key destructive
- `portkey.api_keys.get_api_key` Get API Keys read
- `portkey.api_keys.list_api_keys` Get All read
- `portkey.api_keys.rotate_api_key` Rotate API Key destructive
- `portkey.api_keys.update_api_key` Update API Keys write

**Configs 6**

- `portkey.configs.create_config` Create a config write
- `portkey.configs.delete_config` Delete a config destructive
- `portkey.configs.get_config` Get a config read
- `portkey.configs.list_config_versions` List versions for a config read
- `portkey.configs.list_configs` List all configs read
- `portkey.configs.update_config` Update a config write

**Deployments 6**

- `portkey.deployments.create_deployment` Register a Gateway Deployment write
- `portkey.deployments.delete_deployment` Delete a Gateway Deployment destructive
- `portkey.deployments.get_deployment` Get a Gateway Deployment read
- `portkey.deployments.list_deployments` List All Gateway Deployments read
- `portkey.deployments.ping_deployment` Ping a Gateway Deployment read
- `portkey.deployments.update_deployment` Update a Gateway Deployment write

**Fine tuning 6**

- `portkey.fine_tuning.cancel_fine_tuning_job` Immediately cancel a fine-tune job destructive
- `portkey.fine_tuning.create_fine_tuning_job` Create a Finetune Job write
- `portkey.fine_tuning.list_fine_tuning_events` Get status updates for a fine-tuning job read
- `portkey.fine_tuning.list_fine_tuning_job_checkpoints` List checkpoints for a fine-tuning job read
- `portkey.fine_tuning.list_paginated_fine_tuning_jobs` List your organization's fine-tuning jobs read
- `portkey.fine_tuning.retrieve_fine_tuning_job` Get info about a fine-tuning job. [Learn more about fine-tuning](https://platform.openai.com/docs/guides/fine-tuning) read

**MCP servers 6**

- `portkey.mcp_servers.mcp_servers_create` Create MCP Server write
- `portkey.mcp_servers.mcp_servers_delete` Delete MCP Server destructive
- `portkey.mcp_servers.mcp_servers_list` List MCP Servers read
- `portkey.mcp_servers.mcp_servers_retrieve` Get MCP Server read
- `portkey.mcp_servers.mcp_servers_test` Test MCP Server Connection read
- `portkey.mcp_servers.mcp_servers_update` Update MCP Server write

**Access policies 5**

- `portkey.access_policies.create_access_policy` Create Access Policy write
- `portkey.access_policies.delete_access_policy` Delete Access Policy destructive
- `portkey.access_policies.get_access_policy` Get Access Policy read
- `portkey.access_policies.list_access_policies` List Access Policies read
- `portkey.access_policies.update_access_policy` Update Access Policy write

**Collections 5**

- `portkey.collections.create_collection` Create a new collection write
- `portkey.collections.delete_collection` Delete collection destructive
- `portkey.collections.get_collection` Get collection details read
- `portkey.collections.list_collections` List collections read
- `portkey.collections.update_collection` Update collection write

**Egress allowlist 5**

- `portkey.egress_allowlist.create_egress_allowlist_entry` Create an Egress Allowlist Entry write
- `portkey.egress_allowlist.delete_egress_allowlist_entry` Delete an Egress Allowlist Entry destructive
- `portkey.egress_allowlist.get_egress_allowlist_entry` Get an Egress Allowlist Entry read
- `portkey.egress_allowlist.list_egress_allowlist` List All Egress Allowlist Entries read
- `portkey.egress_allowlist.update_egress_allowlist_entry` Update an Egress Allowlist Entry write

**Integrations 5**

- `portkey.integrations.create_integration` Create an Integration write
- `portkey.integrations.delete_integration` Delete an Integration destructive
- `portkey.integrations.get_integration` Get an Integration read
- `portkey.integrations.list_integrations` List All Integrations read
- `portkey.integrations.update_integration` Update an Integration write

**Labels 5**

- `portkey.labels.create_label` Create a new label write
- `portkey.labels.delete_label` Delete a label destructive
- `portkey.labels.get_label` Get a label by ID read
- `portkey.labels.list_labels` List labels read
- `portkey.labels.update_label` Update a label write

**MCP integrations 5**

- `portkey.mcp_integrations.mcp_integrations_create` Create MCP Integration write
- `portkey.mcp_integrations.mcp_integrations_delete` Delete MCP Integration destructive
- `portkey.mcp_integrations.mcp_integrations_list` List MCP Integrations read
- `portkey.mcp_integrations.mcp_integrations_retrieve` Get MCP Integration read
- `portkey.mcp_integrations.mcp_integrations_update` Update MCP Integration write

**Providers 5**

- `portkey.providers.create_provider` Create a Provider write
- `portkey.providers.delete_provider` Delete a Provider destructive
- `portkey.providers.get_provider` Get a Provider read
- `portkey.providers.list_providers` List All Providers read
- `portkey.providers.update_provider` Update a Provider write

**Rate limits policies 5**

- `portkey.rate_limits_policies.create_rate_limits_policy` Create Rate Limits Policy write
- `portkey.rate_limits_policies.delete_rate_limits_policy` Delete Rate Limits Policy destructive
- `portkey.rate_limits_policies.get_rate_limits_policy` Get Rate Limits Policy read
- `portkey.rate_limits_policies.list_rate_limits_policies` List Rate Limits Policies read
- `portkey.rate_limits_policies.update_rate_limits_policy` Update Rate Limits Policy write

**Secret references 5**

- `portkey.secret_references.create_secret_reference` Create a Secret Reference write
- `portkey.secret_references.delete_secret_reference` Delete a Secret Reference destructive
- `portkey.secret_references.get_secret_reference` Get a Secret Reference read
- `portkey.secret_references.list_secret_references` List All Secret References read
- `portkey.secret_references.update_secret_reference` Update a Secret Reference write

**Virtual keys 5**

- `portkey.virtual_keys.create_virtual_key` Create a Virtual Key write
- `portkey.virtual_keys.delete_virtual_key` Delete a Virtual Key destructive
- `portkey.virtual_keys.get_virtual_key` Get a Virtual Key read
- `portkey.virtual_keys.list_virtual_keys` List All Virtual Keys read
- `portkey.virtual_keys.update_virtual_key` Update a Virtual Key write

**Workspace members 5**

- `portkey.workspace_members.add_members` Add workspace member write
- `portkey.workspace_members.get_member` Get member read
- `portkey.workspace_members.list_members` Get workspace members read
- `portkey.workspace_members.remove_member` Remove workspace member destructive
- `portkey.workspace_members.update_member` Update workspace member write

**Batches 4**

- `portkey.batches.cancel_batch` Cancels an in-progress batch. The batch will be in status `cancelling` for up to 10 minutes, before changing to `cancelled`, where it will have partial results (if any) available in the output file destructive
- `portkey.batches.create_batch` Creates and executes a batch from an uploaded file of requests write
- `portkey.batches.list_batches` List your organization's batches read
- `portkey.batches.retrieve_batch` Retrieves a batch read

**Responses 4**

- `portkey.responses.create_response` Creates a model response write
- `portkey.responses.delete_response` Deletes a model response with the given ID destructive
- `portkey.responses.get_response` Retrieves a model response with the given ID read
- `portkey.responses.list_input_items` Returns a list of input items for a given response read

**Files 3**

- `portkey.files.delete_file` Delete File destructive
- `portkey.files.list_files` List Files read
- `portkey.files.retrieve_file` Returns information about a specific file read

**Integrations models 3**

- `portkey.integrations_models.delete_integration_models` Bulk delete integration custom models destructive
- `portkey.integrations_models.list_integration_models` List integration models read
- `portkey.integrations_models.update_integration_models` Bulk update integration models write

**Models 3**

- `portkey.models.delete_model` Delete a fine-tuned model. You must have the Owner role in your organization to delete a model destructive
- `portkey.models.list_models` List Available Models read
- `portkey.models.retrieve_model` Retrieves a model instance, providing basic information about the model such as the owner and permissioning read

**Feedback 2**

- `portkey.feedback.create_feedback` Create new feedback write
- `portkey.feedback.update_feedback` Updates existing feedback write

**Integrations workspaces 2**

- `portkey.integrations_workspaces.list_integration_workspaces` List integration workspace access read
- `portkey.integrations_workspaces.update_integration_workspaces` Bulk update workspace access write

**MCP integrations capabilities 2**

- `portkey.mcp_integrations_capabilities.mcp_integration_capabilities_bulk_update` Bulk Update MCP Integration Capabilities write
- `portkey.mcp_integrations_capabilities.mcp_integration_capabilities_list` List MCP Integration Capabilities read

**MCP integrations workspaces 2**

- `portkey.mcp_integrations_workspaces.mcp_integration_workspaces_bulk_update` Bulk Update MCP Integration Workspaces write
- `portkey.mcp_integrations_workspaces.mcp_integration_workspaces_list` List MCP Integration Workspaces read

**MCP servers capabilities 2**

- `portkey.mcp_servers_capabilities.mcp_server_capabilities_bulk_update` Bulk Update MCP Server Capabilities write
- `portkey.mcp_servers_capabilities.mcp_server_capabilities_list` List MCP Server Capabilities read

**MCP servers connections 2**

- `portkey.mcp_servers_connections.mcp_server_connections_delete` Delete MCP Server Connection destructive
- `portkey.mcp_servers_connections.mcp_server_connections_list` List MCP Server Connections read

**MCP servers user access 2**

- `portkey.mcp_servers_user_access.list_mcp_server_user_access` List MCP Server User Access read
- `portkey.mcp_servers_user_access.update_mcp_server_user_access` Bulk Update MCP Server User Access write

**Analytics summary 1**

- `portkey.analytics_summary.get_cache` Get cache summary data for the selected time period read

**Audit logs 1**

- `portkey.audit_logs.list_audit_logs` Get Audit Logs read

**MCP integrations metadata 1**

- `portkey.mcp_integrations_metadata.mcp_integration_metadata_retrieve` Get MCP Integration Metadata read

**Model pricing 1**

- `portkey.model_pricing.get_model_pricing` Get Model Pricing read

Questions

## The Portkey MCP server, answered.

**Is there a Portkey MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 248 Portkey actions across assistants, prompts, analytics graphs and vector stores, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Portkey.

**What do I need to connect Portkey?**

Portkey API key. The free call account { op: "connections.requirements", service: "portkey" } lists exactly what to paste.

**Can an AI agent delete or change things in Portkey?**

Only if its key allows it, and only with an explicit confirmation. 39 Portkey actions are destructive, including remove a user, remove an API Key and delete a workspace. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Portkey API limit?**

actionlake paces every call to the limits in the Portkey service file: 600 calls a minute per connection. Repeated reads are answered from cache (112 Portkey actions can be), which never reaches Portkey.

**What does a Portkey action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (248 Portkey actions page). Cache hits, searches, dry runs and calls Portkey refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Portkey API does it cover?**

The Portkey API 2.0.0 (OpenAPI 3, api.portkey.ai/v1) at api.portkey.ai/v1. It is built from Portkey's documentation as read on 23 October 2026. 248 actions in 43 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my Portkey data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Portkey credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Portkey

Shares the most action names with

- [OpenAI Admin 15](https://actionlake.com/connectors/openai-admin)
- [Claude Admin (Anthropic) 14](https://actionlake.com/connectors/anthropic-admin-api)
- [OpenRouter 12](https://actionlake.com/connectors/openrouter)
- [Mistral AI 11](https://actionlake.com/connectors/mistral-ai)
- [Botpress 7](https://actionlake.com/connectors/botpress)
- [Deepgram 4](https://actionlake.com/connectors/deepgram)

Joins with, on shared entities

- [Baserow 3](https://actionlake.com/connectors/baserow)
- [Preset 3](https://actionlake.com/connectors/preset)
- [PandaDoc 3](https://actionlake.com/connectors/pandadoc)
- [Adobe Workfront 2](https://actionlake.com/connectors/adobe-workfront)
- [Microsoft Fabric 2](https://actionlake.com/connectors/microsoft-fabric)
- [MongoDB Atlas 2](https://actionlake.com/connectors/mongodb-atlas)

Browse

- [All AI connectors](https://actionlake.com/connectors/category/ai)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Portkey; the name is the vendor's own. Counts are from the Portkey service file, version 1.0.0.

## Give your agent Portkey today.

[Connect Portkey free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/portkey
More: https://actionlake.com/llms.txt
