Book Store MCP
Provides integration with Supabase for storing and querying book store data (books, authors, stock, prices, reviews, etc.).
Click on "Install 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: Readbook MCP Server
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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/arlansantos/bookstore-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server