---
title: "Update a custom builtin MCP"
method: PUT
path: "/agents/builtin_mcps/admin/{mcp_id}"
tags: ["Agents"]
---

# Update a custom builtin MCP

`PUT /agents/builtin_mcps/admin/{mcp_id}`

## Request

- Base URL: `https://h2ogpte.genai.h2o.ai/api/v1`
- URL: `https://h2ogpte.genai.h2o.ai/api/v1/agents/builtin_mcps/admin/{mcp_id}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/h2o/apis/h2ogpte-rest-api/docs/agents/builtin_mcps/admin/:mcp_id/put.ts> (a function with typed inputs; its response is checked against the schema)

Updates a previously-published MCP configuration. Requires the ManageLibrary permission (admins hold it by default), which covers every entry regardless of who published it.

## Path parameters

- `mcp_id` string, required

## Request body

- object
  - `name` string, required: Display name of the MCP
  - `description` string, required: Description of what the MCP does
  - `type` 'oauth_app' | 'api_app', required: Type of the MCP (oauth_app or api_app)
  - `mcp_config_json` object, required: The MCP server configuration JSON
  - `image_url` string: Optional URL to the MCP icon/image

## Response `200`

MCP successfully updated

- object
  - `id` string: Database ID of the MCP
  - `mcp_id` string: The MCP identifier
  - `config` object: The updated MCP configuration
  - `user_id` string: User ID of the owner
  - `created_at` string, date-time: Creation timestamp
  - `updated_at` string, date-time: Last update timestamp

## Other responses

- `400`: Bad request - Invalid configuration
- `401`: Unauthorized - Invalid or missing API key
- `404`: MCP not found
- `500`: Internal server error
- `default`: Unexpected error

---

[API](https://skmtc.dev/h2o/apis/h2ogpte-rest-api.md) - [All operations](https://skmtc.dev/h2o/apis/h2ogpte-rest-api/llms.txt) - [OpenAPI document](https://skmtc.dev/h2o/apis/h2ogpte-rest-api/revisions/a82a117320f4?raw)
