Shopping List MCP Server
Provides OAuth 2.1 authentication and authorization for the MCP server, handling token validation via Keycloak introspection.
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., "@Shopping List MCP Serveradd milk and eggs to my shopping list"
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.
MCP списка покупок
Самостоятельный MCP-сервис. Он не открывает SQLite и не содержит бизнес-логику: все операции выполняются через REST веб-приложения.
Режимы авторизации
На сервере MCP работает как OAuth 2.1 Resource Server. Клиент получает
access token у Keycloak и передаёт его как Authorization: Bearer <token>.
Сервер публикует метаданные защищённого ресурса MCP, а затем проверяет токен
через Keycloak Introspection: активность, issuer, audience, scope и срок
действия. Статический токен допускается только в локальном режиме разработки.
Related MCP server: MCP Auth
Запуск с OAuth 2.1
Сначала запустите приложение из репозитория shopping-list-app на порту 8000.
Затем в этом каталоге:
../shopping-list-app/.venv/bin/python -m pip install -e ".[dev]"
cp .env.example .env
# Заполните MCP_OAUTH_* значениями из Keycloak.
set -a; source .env; set +a
../shopping-list-app/.venv/bin/python -m mcp_adapter.serverMCP будет доступен по http://127.0.0.1:8001/mcp/.
Для удалённого приложения укажите публичные HTTPS-адреса:
SHOPPING_APP_URL=https://app.example.com \\
MCP_RESOURCE_SERVER_URL=https://mcp.example.com/mcp \\
../shopping-list-app/.venv/bin/python -m mcp_adapter.serverКонфигурация Keycloak и сценарий для пользователя reviewer — в
docs/keycloak.md.
Выгрузка MCP как самостоятельного systemd-сервиса без Docker — в
deploy/README.md.
Локальная разработка без Keycloak
Этот режим нужен только для быстрых локальных smoke-тестов. Он не реализует OAuth discovery и не должен попадать в серверную конфигурацию.
MCP_AUTH_MODE=development \\
MCP_AUTH_TOKEN='длинный-случайный-токен' \\
../shopping-list-app/.venv/bin/python -m mcp_adapter.serverПроверка
../shopping-list-app/.venv/bin/python -m pip install -e ".[dev]"
../shopping-list-app/.venv/bin/python -m pytest
export MCP_AUTH_MODE=development
export MCP_AUTH_TOKEN='длинный-случайный-токен'
../shopping-list-app/.venv/bin/python scripts/mcp_smoke.pyВ этом локальном режиме каждый HTTP-запрос должен передавать тот же токен:
Authorization: Bearer <MCP_AUTH_TOKEN>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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- 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/mihey3000/shopping-list-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server