Book Store MCP
Provides integration with Supabase for storing and querying book store data (books, authors, stock, prices, reviews, etc.).
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Book Store MCPrecommend books similar to 'Dune'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Book Store MCP
PoC de um ChatGPT App construído sobre o Model Context Protocol (MCP). O projeto expõe um MCP Server com ferramentas voltadas a uma livraria, para que o ChatGPT possa consultar livros, autores, estoque, preços e, no futuro, uma base de conhecimento com RAG.
O objetivo desta base é manter a arquitetura simples: o servidor MCP expõe as tools, os services concentram a regra de negócio e os repositories acessam o Supabase.
Visão Geral
Usuário
│
▼
ChatGPT
│
▼
MCP Server (FastMCP)
│
├── Services
│ └── regra de negócio
│
└── Repositories
└── acesso ao SupabasePrincípios da arquitetura:
As tools apenas validam entrada e delegam para services.
Os services concentram a lógica de negócio.
Os repositories são a única camada que conversa com o banco.
A decisão de qual tool usar é responsabilidade do ChatGPT.
Related MCP server: calibre-mcp
Status Atual
As tools estruturadas do catálogo estão implementadas de ponta a ponta.
O projeto já organiza o código em
app/core,app/models,app/services,app/repositorieseapp/mcp.A tool
searchKnowledgerepresenta a futura camada de RAG e faz parte da visão da PoC, mas ainda está em evolução.Autenticação, observabilidade completa e versionamento formal de schema são tratados como próximos passos, não como requisito desta etapa.
Estrutura Do Projeto
book-store-mcp/
├── app/
│ ├── core/ configuração, cliente Supabase, container e exceções
│ ├── mcp/ servidor FastMCP e definição das tools
│ ├── models/ modelos Pydantic de domínio, entrada e saída
│ ├── repositories/ acesso a dados via Supabase
│ ├── rag/ base para ingestão e busca semântica
│ └── services/ regra de negócio
├── supabase/
│ └── migrations/ schema, políticas RLS e seed data
├── tests/ testes de serviços e repositórios
├── pyproject.toml
└── README.mdTecnologias
Tecnologia | Uso |
Python 3.13+ | Linguagem |
MCP Python SDK ( | Servidor MCP e transporte HTTP |
Supabase (Postgres) | Persistência dos dados estruturados |
| Base para a camada vetorial/RAG |
Pytest | Testes |
| Gerenciamento do ambiente e execução local |
Requisitos
Python 3.13 ou superior
uvUm projeto Supabase com URL e chave
anon/publishable
Configuração
# Instala dependências de desenvolvimento
uv sync --extra dev
# Cria o arquivo de ambiente
cp .env.example .envDepois, preencha o .env com as variáveis do Supabase e com as configurações
do servidor MCP, se necessário.
Banco De Dados
As migrações ficam em supabase/migrations/:
Migração | Conteúdo |
| tabelas, índices, restrições e extensões |
| RLS habilitado e políticas públicas de leitura |
| dados iniciais de livros, autores, editoras, categorias, estoque e avaliações |
Você pode aplicar as migrações com o Supabase CLI:
supabase db pushOu executar os scripts diretamente no editor SQL do Supabase, na ordem em que foram criados.
Como Executar
uv run book-store-mcp
# ou
uv run python -m app.mcp.serverPor padrão, o servidor sobe em http://127.0.0.1:8000 usando transporte HTTP
compatível com MCP. O comportamento pode ser ajustado por meio de variáveis de
ambiente como MCP_HOST, MCP_PORT e MCP_TRANSPORT.
Para inspecionar a aplicação com a ferramenta de desenvolvimento do MCP:
uv run mcp dev app/mcp/server.pyTools
Tool | Descrição |
| Busca livros por título ou palavra-chave. |
| Busca autores por nome ou a partir do título de um livro. |
| Busca ou lista editoras. |
| Busca ou lista categorias e gêneros. |
| Localiza um livro pelo ISBN. |
| Retorna a sinopse de um livro. |
| Retorna avaliações e nota média de um livro. |
| Recomenda livros por autor, categoria ou gênero. |
| Encontra livros semelhantes a um título informado. |
| Consulta disponibilidade e quantidade em estoque. |
| Consulta o preço de um livro. |
| Lista os livros mais vendidos. |
| Lista os lançamentos mais recentes. |
| Consulta a base de conhecimento via RAG. |
As tools retornam um JSON estruturado em caso de sucesso e um objeto de erro previsível em caso de falha, por exemplo:
{"error": "BOOK_NOT_FOUND", "message": "..."}Testes
uv run pytestOs testes cobrem as camadas de service e repository com dependências falsas ou mockadas, sem exigir banco de dados ao rodar localmente.
Próximos Passos
Evoluir a tool
searchKnowledgecom ingestão e busca semântica.Adicionar avaliação automática das tools com golden set.
Incluir observabilidade mínima por chamada de tool.
Definir uma estratégia de autenticação quando o servidor sair do ambiente de desenvolvimento.
This server cannot be deployed
Maintenance
Related MCP Connectors
Book discovery using an AI-curated book catalog that eliminates hallucinations and surfaces lesser-known titles.
Search the Dutch book catalog (2M+ titles, daily updates): natural language, ISBN, new releases.
AI-curated book catalog that eliminates hallucinations and surfaces lesser-known titles.
Search a catalog of 1.7 million books and find books by mood, vibe, pace or genre. Read-only.
Related MCP Servers
- FlicenseCqualityDmaintenanceEnables users to manage and interact with a bookstore through natural language, supporting book searching, inventory checking, purchasing, and restocking operations. Provides seamless integration with AI assistants for complete bookstore management functionality.8-
- AlicenseNot gradedqualityDmaintenanceEnables searching, reading, and managing a Calibre ebook library through natural language, with features like metadata search, full-text search, content extraction, and library management.81 npmApache 2.0
- FlicenseAqualityCmaintenanceEnables AI assistants to interact with BookLore self-hosted libraries, allowing natural language queries to search books, manage reading status, ratings, series, authors, and highlights.71-
- AlicenseNot gradedqualityAmaintenanceEnables searching over 500,000 ebooks and audiobooks, finding independent bookshops that sell each title, and accessing developer documentation through natural language.MIT