---
title: "Create Agent"
method: POST
path: "/api/v1/agents"
tags: ["Agents"]
---

# Create Agent

`POST /api/v1/agents`

Create a new agent. If iconUrl is provided, the server will fetch the icon from the external URL and upload it to R2 storage. The response will contain the R2 URL.

## Request body

- AgentCreate
  - `scope` string, required
  - `slug` string, required
  - `displayName` string, required
  - `description` string, required
  - `iconUrl` string, uri
  - `author` string
  - `category` string
  - `tags` string[]
  - `agent` AgentPlatform, required
    - `platform` string, required
    - `url` string, uri, required

## Response `201`

Agent created successfully

- AgentResponse
  - `agent` Agent, required
    - `scope` string, required
    - `slug` string, required
    - `displayName` string, required
    - `description` string, required
    - `iconUrl` string, uri
    - `author` string
    - `category` string
    - `tags` string[]
    - `agent` AgentPlatform, required
      - `platform` string, required
      - `url` string, uri, required
    - `createdAt` string, date-time
    - `updatedAt` string, date-time, required
    - `developerId` string
    - `id` string, required

## Other responses

- `400` — Invalid request data
- `401` — Unauthorized - authentication required
- `500` — Internal server error

---

[API](https://skmtc.net/corespeed-io/apis/mcp-store-api.md) · [All operations](https://skmtc.net/corespeed-io/apis/mcp-store-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/corespeed-io/mcp-store-api/revisions/25721894961a/schema)
