Search entities

Add MCP server to your AI tool

Allow AI tools and LLMs to interact with the API documentation portal through MCP.

MCP server URL

https://api-docs.kitsu.cloud/mcp

Standard setup for AI tools providing an mcp.json file

mcp.json
{
  "Kitsu API MCP server": {
    "url": "https://api-docs.kitsu.cloud/mcp"
  }
}

Close
POST /data/search

Search the persons, the assets and the shots by name. The query must have 3 characters or more. Else, the response is an empty object. The search uses the open projects that you can access. Give project_id to search one project only. If you cannot access this project, the asset and shot lists are empty. A client does not get persons. A user who is not an administrator gets the minimal fields of each person. A vendor gets only the entities of their tasks, without the hidden metadata columns.

application/json

Body Required

  • query string Required

    Text to search, 3 characters or more

  • project_id string(uuid)

    Search only this project

  • limit integer

    Maximum number of results for each index

    Minimum value is 1. Default value is 3.

  • offset integer

    Number of results to skip in each index

    Minimum value is 0. Default value is 0.

  • index_names array[string]

    Indexes to search

    Values are assets, shots, or persons. Default value is ["assets", "shots", "persons"].

Responses

  • 200 application/json

    The results of each index that you asked for

    Hide response attributes Show response attributes object
    • persons array[object]

      Persons that match the query

    • assets array[object]

      Assets that match the query

    • shots array[object]

      Shots that match the query

  • 400

    The body is not valid

POST /data/search
curl -X POST "http://api.example.com/data/search" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "query": "kitsu",
  "project_id": "a24a6ea4-ce75-4665-a070-57453082c25",
  "limit": 3,
  "offset": 0,
  "index_names": [
    "assets"
  ]
}'
import requests

url = "http://api.example.com/data/search"
headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Accept": "application/json",
    "Content-Type": "application/json"
}
params = {}
payload = {
    "query": "kitsu",
    "project_id": "a24a6ea4-ce75-4665-a070-57453082c25",
    "limit": 3,
    "offset": 0,
    "index_names": [
        "assets"
    ]
}

response = requests.post(
    url,
    headers=headers,
    params=params,
    json=payload
)

response.raise_for_status()

if response.content:
    print(response.json())
Request examples
{
  "query": "chair",
  "project_id": "a24a6ea4-ce75-4665-a070-57453082c250",
  "limit": 3,
  "offset": 0,
  "index_names": [
    "assets"
  ]
}
Response examples (200)
{
  "persons": [
    {
      "id": "a24a6ea4-ce75-4665-a070-57453082c250",
      "first_name": "John",
      "last_name": "Doe"
    }
  ],
  "assets": [
    {
      "id": "b35b7fb5-df86-5776-b181-68564193d360",
      "name": "Chair"
    }
  ],
  "shots": [
    {
      "id": "c46c80c6-e097-6887-c292-79675204e470",
      "name": "SH010"
    }
  ]
}