---
title: "Publish a custom builtin MCP to the library"
method: POST
path: "/agents/builtin_mcps/admin"
tags: ["Agents"]
---

# Publish a custom builtin MCP to the library

`POST /agents/builtin_mcps/admin`

## Request

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

Publishes a new MCP to the shared library so it appears in the builtin MCPs list. Requires the ManageLibrary permission (admins hold it by default). Supports optional logo file upload.

## Request body `multipart/form-data`

- object
  - `mcp_config` string, required: JSON string containing the MCP configuration (name, description, type, mcp_config_json, etc.)
  - `logo_file` string, binary, nullable: Optional logo image file to upload

## Response `201`

MCP successfully created

- object
  - `id` string: Database ID of the created MCP
  - `mcp_id` string: The MCP identifier (ends with _builtin)
  - `config` object: The MCP configuration
  - `user_id` string: User ID of the creator
  - `created_at` string, date-time: Creation timestamp
  - `updated_at` string, date-time: Last update timestamp

## Other responses

- `400`: Bad request - Invalid configuration or MCP ID already exists
- `401`: Unauthorized - Invalid or missing API key
- `415`: Unsupported media type
- `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)
