Skip to main content
Glama
Santosl2
by Santosl2
README.md
# moviecom-mcp

Servidor MCP (Model Context Protocol) para consultar programação de filmes e disponibilidade de assentos da Moviecom.

## Objetivo do projeto

Este projeto expõe ferramentas MCP para:

- Buscar a programação de filmes em cartaz.
- Consultar assentos disponíveis de uma sessão específica.
- Listar filmes e enriquecer cada sessão com dados de disponibilidade.

Com isso, clientes MCP (como assistentes e integrações) conseguem consumir esses dados de forma estruturada via `stdio`.

## Pré-requisitos

- Node.js 18+ (recomendado 20+).
- npm.

## Instalação

1. Clone o repositório:

```bash
git clone git@github.com:Santosl2/moviecom-mcp.git
cd moviecom-mcp
```

2. Instale as dependências:

```bash
npm install
```

## Como usar

### 1) Executar o servidor MCP

Este projeto roda como servidor MCP em `stdio`.

```bash
node src/server.js
```

Observação: no estado atual do projeto, prefira o comando acima (o script `npm start` aponta para `server.js` na raiz).

### 2) Ferramentas disponíveis

O servidor registra as seguintes tools:

1. `moviecom_programming`
- Retorna a programação de filmes.
- Input:

```json
{
	"date": "2026-07-30"
}
```

2. `moviecom_available_seats`
- Retorna assentos disponíveis de uma sessão.
- Input:

```json
{
	"sessionId": "11f18ab7ae7ca66580e69ae9bbbc5a12"
}
```

3. `moviecom_movies`
- Retorna filmes e tenta anexar disponibilidade de assentos em cada sessão.
- Input:

```json
{
	"date": "2026-07-30"
}
```

### 3) Exemplo de saída (resumido)

```json
[
	{
		"title": "A Odisseia",
		"classification": "14",
		"duration": "172 minutos  ·  Ação, Fantasia",
		"image": "https://...jpg",
		"programations": [
			{
				"type": "DUB",
				"room": "Sala 1",
				"hour": "18:00",
				"url": "https://moviecom.com.br/vendasessao/?idprog=...",
				"chairs": {
					"total": 152,
					"available": 19,
					"occupied": 130,
					"blocked": 3,
					"seats": [
						{
							"id": "A17",
							"name": "A17",
							"row": 1,
							"column": 17,
							"sector": null,
							"kind": null
						}
					]
				}
			}
		]
	}
]
```

## Estrutura do projeto

```text
src/
	functions.js   # parsing e coleta de dados
	server.js      # servidor MCP e registro das tools
moviecom.json    # exemplo de payload/resultado
```

## Tecnologias

- `@modelcontextprotocol/server`
- `cheerio`
- `zod`

## Observações

- As consultas dependem dos endpoints externos da Moviecom/VeloxTickets.
- Se a estrutura HTML/endpoint mudar, o parser pode precisar de ajustes.

Maintenance

ActivitySlowing
ResponsivenessNo issues