Token导航 LogoToken导航

MCP Server · AI代理

Firebase DAM MCP Server

一个基于Python和FastMCP的Firebase Firestore和Storage访问实现,专为数字资产管理(DAM)系统设计,提供MCP协议兼容的安全访问。

stdio官方级别未说明来源级核验工具 4
数据库服务PythonAI代理

快速开始

作者 / 组织
lt012071
提供方
lt012071

工具数量

4

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

0

仓库热度

收录来源

2 个

MCP World

选型结论

Firebase DAM MCP Server 属于AI代理类 MCP Server,公开资料标注 4 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

AI代理

传输方式

stdio

认证方式

无需认证

部署方式

支持远程部署

安装与配置

安装命令

pip install -r requirements.txt

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 对应的运行时,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 4 个工具,随便调一个只读工具确认能返回结果。

接入前确认

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

详细介绍

Firebase MCP服务器

用于访问Firebase Firestore和存储的模型上下文协议(MCP)服务器实现,使用Python和FastMCP构建。

概述

此MCP服务器通过MCP兼容工具提供对Firebase Firestore集合和存储桶的安全访问。它专为具有预定义集合和访问模式的数字资产管理(DAM)系统而设计。

特性

  • MCP协议合规性:完全符合官方MCP规范
  • 消防通道:查询 assets, versions,以及 comments 收藏
  • 存储访问:搜索Firebase存储桶中的文件
  • 灵活过滤:支持各种过滤运算符,包括日期范围
  • 双重运输:支持stdio和HTTP传输
  • Docker支持:使用Docker进行容器化部署
  • 安全:基于服务帐户的受限访问身份验证

安装

先决条件

  • Python 3.11或更高版本
  • 启用Firestore和存储的Firebase项目
  • 具有适当权限的Google Cloud服务帐户

依赖项

pip install -r requirements.txt

必需的Python包

  • fastmcp>=0.1.0
  • firebase-admin>=6.5.0
  • python-dateutil>=2.8.2
  • typing-extensions>=4.9.0

用法

命令行

# Run with stdio transport (for MCP clients)
python main.py --google-credentials /path/to/service-account.json --transport stdio

# Run with HTTP transport (for web access)
python main.py --google-credentials /path/to/service-account.json --transport http --host 0.0.0.0 --port 8000

# Enable debug logging
python main.py --google-credentials /path/to/service-account.json --debug

码头工人

# Build the image
docker build -t firebase-mcp-server .

# Run with docker-compose
docker-compose up -d

# Run manually
docker run -p 8000:8000 -v /path/to/credentials.json:/app/credentials.json firebase-mcp-server

配置

克劳德桌面

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "firebase-dam": {
      "command": "python",
      "args": [
        "/path/to/mcp-server/main.py",
        "--google-credentials",
        "/path/to/your/service-account-credentials.json",
        "--transport",
        "stdio"
      ],
      "env": {
        "PYTHONPATH": "/path/to/mcp-server"
      }
    }
  }
}

服务帐户设置

⚠️ 安全警告:切勿将凭据文件提交到版本控制!

  1. 在Firebase项目中创建服务帐户
  2. 下载JSON凭据文件
  3. 复制 credentials.json.example 向 credentials.json 并填写您的实际值
  4. 授予服务帐户以下权限:

- 四大 : Firebase Rules System, Cloud Datastore User - 储存: Storage Object Viewer

可用工具

搜索资产

在Firestore资产集合中搜索资产。

架构:

  • id:string-唯一资产标识符
  • title:string-资产标题
  • description:string-资产描述
  • category:string-资产类别
  • tags:string\[\]-标记数组
  • uploader:string-上传的用户ID
  • uploadedAt:string-ISO8601时间戳
  • updatedAt:string-ISO8601时间戳
  • visibility:“公共”|“私人”
  • latestVersionId:string(可选)

例子:

{
  "category": "image",
  "tags": ["banner"],
  "visibility": "public",
  "uploadedAt": ">=2024-06-01"
}

搜索版本

在Firestore版本集合中搜索版本。

架构:

  • id:string-唯一版本标识符
  • assetId:string-父资产ID
  • version:string-版本标识符
  • fileUrl:string-文件的URL
  • fileName:string-原始文件名
  • fileType:string-MIME类型
  • fileSize:number-文件大小(字节)
  • updatedAt:string-ISO8601时间戳
  • updatedBy:string-更新的用户ID

例子:

{
  "assetId": "asset123",
  "fileType": "image/png",
  "updatedAt": ">=2024-06-01"
}

搜索_注释

在Firestore评论集合中搜索评论。

架构:

  • id:string-唯一注释标识符
  • assetId:string-正在评论的资产
  • user:string-发表评论的用户ID
  • text:string-注释文本
  • createdAt:string-ISO8601时间戳

例子:

{
  "assetId": "asset123",
  "user": "user456",
  "createdAt": ">=2024-06-01"
}

搜索资产文件

在Firebase存储桶中搜索文件。

退货:

  • name:string-完整文件路径
  • size:number-文件大小(字节)
  • contentType:string-MIME类型
  • uploadedAt:string-ISO8601时间戳
  • downloadUrl:string-公共URL
  • etag:string-ETag用于版本控制
  • generation:number-文件生成

例子:

{
  "prefix": "assets/",
  "contentType": "image/png",
  "uploadedAt": ">=2024-06-01"
}

过滤器操作员

  • == -相等(默认)
  • >= -大于或等于(日期)
  • <= -小于或等于(日期)
  • array_contains_any -数组包含任何值
  • in -值在提供的数组中

建筑

src/
├── mcp_server_firebase/
│   ├── __init__.py
│   ├── server.py          # FastMCP server with tools
│   └── firebase_client.py # Firebase client wrapper
├── main.py                # Entry point
├── requirements.txt       # Python dependencies
├── Dockerfile            # Container configuration
├── docker-compose.yml    # Docker Compose setup
└── examples/             # Configuration examples

安全说明

  • 集合和bucket名称在源代码中是硬编码的
  • 访问仅限于只读操作
  • 身份验证需要服务帐户凭据
  • 没有记录或暴露敏感数据

发展

设置开发环境

# Clone the repository
git clone https://github.com/lt012071/dam-firebase-mcp-server.git
cd dam-firebase-mcp-server

# Install development dependencies
make install-dev

# Or manually:
pip install -r requirements.txt
pip install -r requirements-dev.txt
pre-commit install

运行测试

# Run all unit tests (recommended for development)
make test
# or: pytest tests/unit/ -v -m "unit"

# Run integration tests
make test-integration
# or: pytest tests/integration/ -v -m "integration and not slow"

# Run all tests with coverage
make test-all
# or: pytest tests/ --cov=src --cov-report=html

# Run slow tests (only on CI)
make test-slow
# or: pytest tests/integration/ -v -m "slow"

# Run tests in watch mode (for development)
make test-watch

代码质量

# Format code
make format
# or: black src/ tests/ && isort src/ tests/

# Run linting
make lint
# or: flake8 src/ tests/

# Type checking
make type-check
# or: mypy src/ --ignore-missing-imports

# Security scanning
make security
# or: bandit -r src/ && safety check

# Run all quality checks
make quality

# Run pre-commit hooks
make pre-commit

测试覆盖率

# Generate HTML coverage report
make coverage-html
# Open htmlcov/index.html in browser

# Generate XML coverage report (for CI)
make coverage-xml

Docker测试

# Build and test Docker image
make docker-build
make docker-test

# Run with docker-compose
make docker-compose-up

测试类别

  • 单元测试 (tests/unit/):具有模拟依赖关系的快速测试
  • 集成测试 (tests/integration/):测试MCP协议通信
  • 慢速测试 (标有 @pytest.mark.slow):性能和压力测试

写作测试

# Unit test example
@pytest.mark.unit
def test_firebase_client_init(test_credentials_file):
    client = FirebaseClient(test_credentials_file)
    assert client.credentials_path == test_credentials_file

# Integration test example  
@pytest.mark.integration
@pytest.mark.asyncio
async def test_mcp_tool_via_protocol(test_credentials_file):
    # Test actual MCP communication
    pass

# Slow test example
@pytest.mark.slow
@pytest.mark.integration
async def test_large_dataset_handling():
    # Performance test with large datasets
    pass

持续集成

测试在以下情况下自动运行:

  • 推到 main/master 分支
  • 拉取请求创建
  • 多个Python版本(3.10、3.11、3.12)

CI管道包括:

  • 覆盖范围的单元测试
  • 集成测试
  • 代码质量检查(linting、打字、安全)
  • Docker构建验证

故障排除

常见问题

  1. 未找到凭据:确保服务帐户JSON文件路径正确
  2. 权限不足:验证服务帐户是否具有所需的Firebase权限
  3. 连接问题:检查网络连接和Firebase项目设置
  4. 导入错误:确保所有依赖项都已正确安装

调试模式

启用调试日志记录以查看详细的操作日志:

python main.py --google-credentials /path/to/credentials.json --debug

许可证

该项目根据MIT许可证获得许可。

工具与能力

工具数量

4

资源数量

0

提示词数量

0

能力标签

数字资产管理Python本地部署Firebase访问MCP协议数据库服务文件存储

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

多步任务编排

把拆解、检索、执行串成一条链,模型按步骤调用工具。

长期上下文

把会话、笔记和知识放到外部存储,换个会话还能接着做。

接自有流程

把内部系统和模型连起来,让助手调用已有的工作流。

选择建议

值得选的地方

  • 只提供 4 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 运行环境,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在AI代理场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Firebase DAM MCP Server

MCP World · 本页

4stdio有2 个2026-05-17
Everything Claude Code

MCP World

0stdio有1 个2026-05-17
Filesystem 560c4363

MCP World

13未说明未标注2 个2026-05-17
Time 7365cb6d

MCP.so

2SSE有2 个2026-05-17
Server Everything (everything)

MCP World

11stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Firebase DAM MCP Server 怎么安装?

公开资料给出的安装命令是 pip install -r requirements.txt,运行环境为 未标注。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Firebase DAM MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 未标注;保存后完全退出客户端再打开,配置才会生效。

Firebase DAM MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Firebase DAM MCP Server 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Firebase DAM MCP Server 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP