Token导航 LogoToken导航TokenDH.com
MCP Azure Storage Account logo
运维云端未说明官方级别未说明来源级核验

MCP Azure Storage Account

MCP Server

一个用于与Azure Blob存储交互的模型上下文协议(MCP)服务器,支持AI助手如Claude读取、搜索和浏览存储在Azure Blob容器中的文件。

工具数

7

提示词数

0

GitHub Stars

1

资源数

0
数据检索C#Claude云存储Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

viamus

提供方

viamus

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Azure Blob存储MCP服务器

模型上下文协议(MCP)服务器,提供与Azure Blob存储交互的工具。此服务器使Claude等AI助手能够读取、搜索和探索存储在Azure Blob存储容器中的文件。

特性

  • 列出容器:查看Azure存储帐户中的所有blob容器
  • 列出金发女郎:使用可选的前缀过滤浏览容器中的blob
  • 读取Blob内容:检索文本文件的全部内容,并自动截断大文件
  • 读取Blob块:按字节范围读取大文件的特定部分
  • 在Blob中搜索:在特定blob文件中搜索文本
  • 在容器中搜索:搜索容器中的所有文本文件
  • 获取Blob元数据:在不下载内容的情况下检索元数据和属性

需求

  • .NET 10.0 SDK
  • Docker和Docker Compose(用于使用Azurite进行本地开发)
  • Azure存储帐户(用于生产)或Azurite(用于本地开发)

快速开始

1.克隆和构建

git clone 
cd mcp-azure-storage-account
dotnet build

2.启动当地发展环境

docker-compose up -d

这将开始:

  • 蓝铜矿:端口10000(Blob)、10001(队列)、10002(表)上的Azure存储模拟器
  • MCP 服务器:在端口5001上运行

3.在本地运行服务器

dotnet run --project src/Viamus.Azure.StorageAccount.Mcp.Server

服务器将在以下位置可用:

  • MCP端点: http://localhost:5001/mcp
  • 健康检查: http://localhost:5001/health

配置

环境变量

变量描述必填
AZURE_STORAGE_CONNECTION_STRINGAzure存储的完整连接字符串是\*
AZURE_STORAGE_ACCOUNT_NAME存储帐户名(使用DefaultAzureCredential)是\*

\*必须提供其中之一。

地方发展(Azurite)

Azurite的默认连接字符串已在中预先配置 launchSettings.json:

DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;

生产(Azure存储帐户)

设置 AZURE_STORAGE_CONNECTION_STRING 带有Azure存储连接字符串或设置的环境变量 AZURE_STORAGE_ACCOUNT_NAME 要使用托管身份/DefaultAzureCredential。

可用的MCP工具

list_containers

列出Azure存储帐户中的所有blob容器。

退货:包含名称和最后修改日期的容器数组。

list_blobs

列出特定容器中的所有blob。

参数:

  • containerName (必填):容器名称
  • prefix (可选):按前缀过滤blob(例如。, logs/ 用于类似文件夹的过滤)

退货:包含名称、大小、内容类型和上次修改日期的blob数组。

get_blob_content

获取blob文件的完整内容。

参数:

  • containerName (必填):容器名称
  • blobName (必填):blob的名称/路径
  • maxCharacters (可选):返回的最大字符数(默认值:100000)

退货:包含元数据的Blob内容。大文件会自动截断。

get_blob_chunk

获取blob文件的特定块/部分。

参数:

  • containerName (必填):容器名称
  • blobName (必填):blob的名称/路径
  • startPosition (必填):起始字节位置(从0开始)
  • length (必填):要读取的字节数

退货:使用位置信息和剩余字节对内容进行分块。

search_in_blob

在blob文件中搜索特定术语。

参数:

  • containerName (必填):容器名称
  • blobName (必填):blob的名称/路径
  • searchTerm (必填):要搜索的文本
  • caseSensitive (可选):区分大小写的搜索(默认值:false)
  • maxResults (可选):返回的最大结果数(默认值:50)

退货:用行号匹配行。

search_in_container

在容器中的所有文本文件中搜索特定术语。

参数:

  • containerName (必填):容器名称
  • searchTerm (必填):要搜索的文本
  • blobPrefix (可选):筛选要搜索的blob
  • caseSensitive (可选):区分大小写的搜索(默认值:false)
  • maxResults (可选):返回的最大结果数(默认值:100)

退货:将行与blob名称和行号匹配。

get_blob_metadata

获取特定blob的详细元数据和属性。

参数:

  • containerName (必填):容器名称
  • blobName (必填):blob的名称/路径

退货:Blob元数据,包括大小、内容类型和读取建议。

与Claude Desktop集成

步骤1:配置Claude桌面

将MCP服务器添加到Claude Desktop配置文件中:

视窗: %APPDATA%\Claude\claude_desktop_config.json macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "azure-blob-storage": {
      "url": "http://localhost:5001"
    }
  }
}

步骤2:启动服务器

启动Claude Desktop之前,请确保MCP服务器正在运行:

# Start Azurite (if using local development)
docker-compose up azurite -d

# Start the MCP server
dotnet run --project src/Viamus.Azure.StorageAccount.Mcp.Server

步骤3:验证连接

打开Claude Desktop,让Claude列出您的容器来验证连接:

“列出我的Azure存储帐户中的所有容器”

为上下文创建CLAUDE.md文件

为了帮助Claude了解您的特定blob存储结构和用例,请创建一个 CLAUDE.md 项目根目录中的文件。此文件提供有关数据组织的上下文。

CLAUDE.md示例

# Azure Blob Storage Context

## Storage Structure

This Azure Blob Storage account contains the following containers:

### `logs`
Application logs organized by date and service:
- `logs/api/YYYY-MM-DD/*.log` - API server logs
- `logs/worker/YYYY-MM-DD/*.log` - Background worker logs
- `logs/errors/YYYY-MM-DD/*.json` - Error reports in JSON format

### `documents`
User-uploaded documents:
- `documents/{user-id}/` - User-specific files
- `documents/shared/` - Shared documents accessible to all users

### `backups`
Database backups:
- `backups/daily/YYYY-MM-DD.sql.gz` - Daily compressed SQL backups
- `backups/weekly/YYYY-WW.sql.gz` - Weekly backups

### `media`
Media files (images, videos):
- `media/images/{uuid}.{ext}` - Uploaded images
- `media/thumbnails/{uuid}.jpg` - Generated thumbnails

## Common Tasks

1. **Finding recent errors**: Search in `logs/errors/` for today's date
2. **User file lookup**: List blobs with prefix `documents/{user-id}/`
3. **Log analysis**: Search for specific error codes in `logs/api/`

## File Formats

- `.log` files are plain text, one entry per line
- `.json` files are structured JSON, can be searched directly
- `.sql.gz` files are compressed and cannot be read directly

## Naming Conventions

- Dates use ISO format: YYYY-MM-DD
- UUIDs are lowercase with hyphens
- All paths use forward slashes

CLAUDE.md的提示

  1. 记录您的文件夹结构:解释文件的组织方式
  2. 描述命名约定:帮助克劳德理解模式
  3. 列出常见任务:提供频繁操作的示例
  4. 注释文件格式:指出哪些文件是文本可读的
  5. 包括搜索提示:建议有效的搜索策略

运行测试

dotnet test

项目结构

mcp-azure-storage-account/
├── src/
│   └── Viamus.Azure.StorageAccount.Mcp.Server/
│       ├── Program.cs                 # Application entry point
│       ├── Services/
│       │   ├── IAzureBlobStorageService.cs
│       │   └── AzureBlobStorageService.cs
│       └── Tools/
│           └── BlobStorageTools.cs    # MCP tool definitions
├── tests/
│   └── Viamus.Azure.StorageAccount.Mcp.Server.Tests/
│       ├── Services/
│       │   └── AzureBlobStorageServiceTests.cs
│       └── Tools/
│           └── BlobStorageToolsTests.cs
├── docker-compose.yml
├── README.md
└── CLAUDE.md                          # Your storage context file

错误处理

所有工具都返回结构化的JSON响应。当找不到资源时:

{
  "Error": "NotFound",
  "Message": "Blob 'file.txt' not found in container 'my-container'",
  "ResourceType": "Blob",
  "ResourceName": "file.txt",
  "ContainerName": "my-container"
}

对于其他错误:

{
  "Error": "ErrorCode",
  "Message": "Description of what failed",
  "Details": "Detailed error message",
  "StatusCode": 500
}

Docker部署

塑造形象

docker build -t azure-blob-mcp-server -f src/Viamus.Azure.StorageAccount.Mcp.Server/Dockerfile .

使用Docker Compose运行

docker-compose up -d

Docker的环境变量

environment:
  - AZURE_STORAGE_CONNECTION_STRING=your-connection-string

许可证

麻省理工学院

贡献

  1. 克隆该仓库
  2. 创建要素分支
  3. 进行更改
  4. 运行测试: dotnet test
  5. 提交拉取请求

目录标签

目录标签

数据检索C#Claude云存储AzureBlob存储本地部署文件管理AI集成

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP