Skip to main content
Glama

Overseerr MCP Server

by jgarciaga
openapi.yaml16.5 kB
openapi: "3.0.2" info: title: "Overseerr API for MCP" description: | This is the OpenAPI specification for the Overseerr MCP service. The Overseerr MCP service allows you to interact with an Overseerr instance through Claude AI, providing easy access to movie and TV show request information and status. version: "1.0.0" servers: - url: "http://localhost:5055/api/v1" description: "Local Overseerr API server" components: schemas: Error: type: "object" properties: errorCode: type: "number" description: "Error code uniquely identifying this particular type of error." example: 40149 message: type: "string" description: "Message describing the error." example: "A brief description of the error." MovieRequest: type: "object" properties: title: type: "string" description: "The title of the requested movie" example: "The Martian" media_availability: type: "string" description: "The current availability status of the media" example: "AVAILABLE" enum: ["UNKNOWN", "PENDING", "PROCESSING", "PARTIALLY_AVAILABLE", "AVAILABLE"] request_date: type: "string" description: "The date the request was made" example: "2020-09-12T10:00:27.000Z" required: - title - media_availability - request_date TvRequest: type: "object" properties: tv_title: type: "string" description: "The title of the requested TV show" example: "Rick and Morty" tv_title_availability: type: "string" description: "The current availability status of the TV show" example: "AVAILABLE" enum: ["UNKNOWN", "PENDING", "PROCESSING", "PARTIALLY_AVAILABLE", "AVAILABLE"] tv_season: type: "string" description: "The season identifier" example: "S01" tv_season_availability: type: "string" description: "The current availability status of the season" example: "AVAILABLE" enum: ["UNKNOWN", "PENDING", "PROCESSING", "PARTIALLY_AVAILABLE", "AVAILABLE"] tv_episodes: type: "array" description: "List of episodes in the season" items: type: "object" properties: episode_number: type: "string" description: "The episode number" example: "01" episode_name: type: "string" description: "The episode name" example: "Pilot" request_date: type: "string" description: "The date the request was made" example: "2020-09-12T10:00:27.000Z" required: - tv_title - tv_title_availability - tv_season - tv_season_availability - tv_episodes - request_date Status: type: "object" properties: version: type: "string" description: "The version of Overseerr" example: "1.29.1" commitTag: type: "string" description: "The commit tag of the Overseerr build" example: "v1.29.1" updateAvailable: type: "boolean" description: "Whether an update is available" example: false commitsBehind: type: "number" description: "Number of commits behind the latest release" example: 0 restartRequired: type: "boolean" description: "Whether a restart is required" example: false securitySchemes: apiKey: type: "apiKey" name: "X-Api-Key" in: "header" paths: /status: get: summary: "Get Overseerr server status" description: "Returns the current status of the Overseerr server" operationId: "getStatus" tags: - "Status" responses: "200": description: "Successful operation" content: application/json: schema: $ref: "#/components/schemas/Status" "400": description: "Bad request" content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: "Unauthorized" content: application/json: schema: $ref: "#/components/schemas/Error" /request: get: summary: "Get movie and TV show requests" description: "Returns movie and TV show requests based on filtering criteria" operationId: "getRequests" tags: - "Requests" parameters: - name: "take" in: "query" description: "Number of items to return per page" schema: type: "number" default: 20 - name: "skip" in: "query" description: "Number of items to skip" schema: type: "number" default: 0 - name: "filter" in: "query" description: "Filter by status" schema: type: "string" enum: ["all", "approved", "available", "pending", "processing", "unavailable", "failed"] - name: "sort" in: "query" description: "Sort by" schema: type: "string" enum: ["added", "modified"] default: "added" responses: "200": description: "Successful operation" content: application/json: schema: type: "object" properties: pageInfo: type: "object" properties: pages: type: "number" example: 1 pageSize: type: "number" example: 20 results: type: "number" example: 5 page: type: "number" example: 1 results: type: "array" items: type: "object" properties: id: type: "number" example: 123 status: type: "number" example: 1 description: "Status of the request. 1 = PENDING APPROVAL, 2 = APPROVED, 3 = DECLINED" media: type: "object" properties: id: type: "number" example: 456 tmdbId: type: "number" example: 550 tvdbId: type: "number" example: null status: type: "number" example: 5 description: "Availability of the media. 1 = UNKNOWN, 2 = PENDING, 3 = PROCESSING, 4 = PARTIALLY_AVAILABLE, 5 = AVAILABLE" createdAt: type: "string" example: "2020-09-12T10:00:27.000Z" updatedAt: type: "string" example: "2020-09-12T10:00:27.000Z" "400": description: "Bad request" content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: "Unauthorized" content: application/json: schema: $ref: "#/components/schemas/Error" /movie/{movieId}: get: summary: "Get movie details" description: "Returns detailed information about a specific movie" operationId: "getMovieDetails" tags: - "Movies" parameters: - name: "movieId" in: "path" description: "ID of the movie to return" required: true schema: type: "number" responses: "200": description: "Successful operation" content: application/json: schema: type: "object" properties: id: type: "number" example: 550 title: type: "string" example: "Fight Club" originalTitle: type: "string" example: "Fight Club" releaseDate: type: "string" example: "1999-10-15" overview: type: "string" example: "A ticking-time-bomb insomniac and a slippery soap salesman channel primal male aggression into a shocking new form of therapy." backdropPath: type: "string" example: "/rr7E0NoGKxvbkb89eR1GwfoYjpA.jpg" posterPath: type: "string" example: "/pB8BM7pdSp6B6Ih7QZ4DrQ3PmJK.jpg" mediaInfo: type: "object" properties: status: type: "number" example: 5 description: "Availability of the media. 1 = UNKNOWN, 2 = PENDING, 3 = PROCESSING, 4 = PARTIALLY_AVAILABLE, 5 = AVAILABLE" "400": description: "Bad request" content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: "Unauthorized" content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: "Movie not found" content: application/json: schema: $ref: "#/components/schemas/Error" /tv/{tvId}: get: summary: "Get TV show details" description: "Returns detailed information about a specific TV show" operationId: "getTvDetails" tags: - "TV Shows" parameters: - name: "tvId" in: "path" description: "ID of the TV show to return" required: true schema: type: "number" responses: "200": description: "Successful operation" content: application/json: schema: type: "object" properties: id: type: "number" example: 1399 name: type: "string" example: "Game of Thrones" originalName: type: "string" example: "Game of Thrones" firstAirDate: type: "string" example: "2011-04-17" overview: type: "string" example: "Seven noble families fight for control of the mythical land of Westeros." backdropPath: type: "string" example: "/suopoADq0k8YZr4dQXcU6pToj6s.jpg" posterPath: type: "string" example: "/u3bZgnGQ9T01sWNhyveQz0wH0Hl.jpg" seasons: type: "array" items: type: "object" properties: id: type: "number" example: 3627 name: type: "string" example: "Season 1" seasonNumber: type: "number" example: 1 episodeCount: type: "number" example: 10 mediaInfo: type: "object" properties: status: type: "number" example: 5 description: "Availability of the media. 1 = UNKNOWN, 2 = PENDING, 3 = PROCESSING, 4 = PARTIALLY_AVAILABLE, 5 = AVAILABLE" "400": description: "Bad request" content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: "Unauthorized" content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: "TV show not found" content: application/json: schema: $ref: "#/components/schemas/Error" /tv/{tvId}/season/{seasonId}: get: summary: "Get season details" description: "Returns detailed information about a specific TV season" operationId: "getSeasonDetails" tags: - "TV Shows" parameters: - name: "tvId" in: "path" description: "ID of the TV show" required: true schema: type: "number" - name: "seasonId" in: "path" description: "Season number" required: true schema: type: "number" responses: "200": description: "Successful operation" content: application/json: schema: type: "object" properties: id: type: "number" example: 3627 name: type: "string" example: "Season 1" seasonNumber: type: "number" example: 1 overview: type: "string" example: "Trouble is brewing in the Seven Kingdoms of Westeros." posterPath: type: "string" example: "/zwaj4egrhnXOBIit1tyb4Sbt3KP.jpg" episodes: type: "array" items: type: "object" properties: id: type: "number" example: 63056 name: type: "string" example: "Winter Is Coming" episodeNumber: type: "number" example: 1 seasonNumber: type: "number" example: 1 overview: type: "string" example: "Jon Arryn, the Hand of the King, is dead." "400": description: "Bad request" content: application/json: schema: $ref: "#/components/schemas/Error" "401": description: "Unauthorized" content: application/json: schema: $ref: "#/components/schemas/Error" "404": description: "TV show or season not found" content: application/json: schema: $ref: "#/components/schemas/Error" security: - apiKey: [] tags: - name: "Status" description: "Endpoints related to server status" - name: "Requests" description: "Endpoints related to movie and TV show requests" - name: "Movies" description: "Endpoints related to movies" - name: "TV Shows" description: "Endpoints related to TV shows"

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/jgarciaga/overseerr-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server