Пример протокола сервера модели S3
Обзор
Что такое Sample MCP Server S3?
Sample MCP Server S3 — это публичный репозиторий, размещенный на GitHub в организации ### aws-samples. Этот проект служит демонстрацией того, как реализовать сервер, который взаимодействует с Amazon S3 (Simple Storage Service), демонстрируя лучшие практики и предоставляя образцы кода для разработчиков, желающих интегрировать S3 в свои приложения. Репозиторий включает различные ресурсы, включая фрагменты кода, документацию и примеры, которые помогают пользователям понять, как эффективно использовать S3 для решений по хранению данных.
Особенности Sample MCP Server S3
- Интеграция с Amazon S3: Проект предоставляет бесшовный способ подключения и взаимодействия с S3, позволяя пользователям загружать, скачивать и управлять файлами без усилий.
- Публичный доступ: Будучи публичным репозиторием, он позволяет разработчикам получать доступ к коду, вносить свой вклад и учиться на предоставленных примерах.
- Документация: Включена обширная документация, чтобы направить пользователей через настройку и использование сервера.
- Поддержка сообщества: Как часть образцов AWS, он получает выгоду от вкладов и отзывов сообщества, улучшая свою функциональность и удобство использования.
- Открытый исходный код: Проект является открытым исходным кодом, что позволяет разработчикам изменять и адаптировать код под свои конкретные нужды.
Как использовать Sample MCP Server S3
-
Клонируйте репозиторий: Начните с клонирования репозитория на свой локальный компьютер с помощью команды:
git clone https://github.com/aws-samples/sample-mcp-server-s3.git
-
Настройте учетные данные AWS: Убедитесь, что ваши учетные данные AWS настроены. Это можно сделать, настроив AWS CLI или предоставив учетные данные в конфигурации приложения.
-
Установите зависимости: Перейдите в каталог проекта и установите все необходимые зависимости. Обычно это включает выполнение:
npm install
-
Запустите сервер: Запустите сервер с помощью команды:
npm start
-
Доступ к приложению: После запуска сервера вы можете получить доступ к приложению через ваш веб-браузер или API-клиент для взаимодействия с S3.
-
Изучите код: Просмотрите предоставленные примеры и документацию, чтобы понять, как реализовать различные функции и функциональности.
Часто задаваемые вопросы
Что такое Amazon S3?
Amazon S3 (Simple Storage Service) — это масштабируемый сервис объектного хранения, предлагаемый AWS, который позволяет пользователям хранить и извлекать любое количество данных из любой точки в интернете. Он широко используется для резервного копирования, архивирования и хранения данных для веб-приложений.
Бесплатно ли использовать Sample MCP Server S3?
Да, Sample MCP Server S3 — это проект с открытым исходным кодом и его можно использовать бесплатно. Однако вы можете понести расходы, связанные с использованием сервисов AWS, таких как S3, в зависимости от вашего использования.
Могу ли я внести вклад в Sample MCP Server S3?
Абсолютно! Вклады приветствуются. Вы можете сделать форк репозитория, внести изменения и отправить запрос на слияние для рассмотрения.
Где я могу найти больше информации о AWS S3?
Вы можете найти больше информации о AWS S3 в официальной документации AWS. Это включает в себя подробные руководства, ссылки на API и лучшие практики для эффективного использования S3.
Деталь
Sample S3 Model Context Protocol Server
An MCP server implementation for retrieving data such as PDF's from S3.
Features
Resources
Expose AWS S3 Data through Resources. (think of these sort of like GET endpoints; they are used to load information into the LLM's context). Currently only PDF documents supported and limited to 1000 objects.
Tools
- ListBuckets
- Returns a list of all buckets owned by the authenticated sender of the request
- ListObjectsV2
- Returns some or all (up to 1,000) of the objects in a bucket with each request
- GetObject
- Retrieves an object from Amazon S3. In the GetObject request, specify the full key name for the object. General purpose buckets - Both the virtual-hosted-style requests and the path-style requests are supported
Configuration
Setting up AWS Credentials
- Obtain AWS access key ID, secret access key, and region from the AWS Management Console and configure credentials files using Default profile as shown here
- Ensure these credentials have appropriate permission READ/WRITE permissions for S3.
Usage with Claude Desktop
Claude Desktop
On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"s3-mcp-server": {
"command": "uv",
"args": [
"--directory",
"/Users/user/generative_ai/model_context_protocol/s3-mcp-server",
"run",
"s3-mcp-server"
]
}
}
}
</details>
<details>
<summary>Published Servers Configuration</summary>
{
"mcpServers": {
"s3-mcp-server": {
"command": "uvx",
"args": [
"s3-mcp-server"
]
}
}
}
</details>
Development
Building and Publishing
To prepare the package for distribution:
- Sync dependencies and update lockfile:
uv sync
- Build package distributions:
uv build
This will create source and wheel distributions in the dist/
directory.
- Publish to PyPI:
uv publish
Note: You'll need to set PyPI credentials via environment variables or command flags:
- Token:
--token
orUV_PUBLISH_TOKEN
- Or username/password:
--username
/UV_PUBLISH_USERNAME
and--password
/UV_PUBLISH_PASSWORD
Debugging
Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.
You can launch the MCP Inspector via npm
with this command:
npx @modelcontextprotocol/inspector uv --directory /Users/user/generative_ai/model_context_protocol/s3-mcp-server run s3-mcp-server
Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.
Security
See CONTRIBUTING for more information.
License
This library is licensed under the MIT-0 License. See the LICENSE file.
Конфигурация сервера
{
"mcpServers": {
"sample-mcp-server-s-3": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"ghcr.io/metorial/mcp-container--aws-samples--sample-mcp-server-s3--sample-mcp-server-s-3",
"s3-mcp-server"
],
"env": {}
}
}
}