返回市场
django-firebase-mcp服务器

django-firebase-mcp服务器

作者:raghavdasila14 星标更新:2025-06-17

项目介绍

Django Firebase MCP

一个全面的Django应用,实现了Firebase模型上下文协议(MCP)服务器,使AI代理能够通过标准化协议与Firebase服务进行交互。

🚀 快速开始

在不到5分钟的时间内使用独立的Firebase代理进行测试。

预备条件

  • Python 3.11+
  • 具有Admin SDK的Firebase项目
  • Git(可选)

1. 克隆并设置

git clone https://github.com/your-repo/django-firebase-mcp.git
cd django-firebase-mcp

2. 安装依赖

pip install -r requirements.txt

3. Firebase设置

获取Firebase凭证

  1. 访问Firebase控制台
  2. 选择你的项目(或创建一个新的项目)
  3. 导航到项目设置服务账户
  4. 点击**“生成新的私钥”**
  5. 下载JSON文件,并将其保存为项目根目录下的credentials.json

启用Firebase服务

确保在你的Firebase项目中启用了以下服务:

  • 身份验证(用于用户管理)
  • Firestore数据库(用于文档存储)
  • 云存储(用于文件上传)

4. 环境配置

在项目根目录下创建一个.env文件:

# Firebase配置
SERVICE_ACCOUNT_KEY_PATH=credentials.json
FIREBASE_STORAGE_BUCKET=your-project-id.appspot.com

# MCP配置
MCP_TRANSPORT=http
MCP_HOST=127.0.0.1
MCP_PORT=8001

# Django设置
DEBUG=True
SECRET_KEY=your-secret-key-here

⚠️ 重要提示:your-project-id替换为你实际的Firebase项目ID。

5. 使用独立代理快速测试

立即使用独立的Firebase代理测试你的设置:

# 运行独立代理
python firebase_admin_mcp/standalone_firebase_agent.py

你应该会看到:

🔥 Firebase MCP代理已准备好!
输入'help'查看可用命令,输入'quit'退出。

>

尝试这些命令:

> 列出所有Firebase集合
> 检查Firebase健康状态
> help
> quit

6. 完整的Django设置(可选)

为了完全集成Django:

# 应用迁移
python manage.py migrate

# 创建超级用户(可选)
python manage.py createsuperuser

# 运行Django开发服务器
python manage.py runserver 8001

MCP服务器将在以下地址可用:http://127..0.1:8001/mcp/

🛠️ 管理命令

核心命令

# 运行独立的Firebase代理(快速测试)
python firebase_admin_mcp/standalone_firebase_agent.py

# 通过Django运行MCP服务器
python manage.py runserver 8001

# 在标准I/O模式下运行MCP服务器(适用于MCP客户端)
python manage.py run_mcp --transport stdio

# 在HTTP模式下运行MCP服务器
python manage.py run_mcp --transport http --host 127.0.0.1 --port 8001

# 通过Django管理命令运行独立代理
python manage.py run_standalone_agent

测试命令

# 测试Firebase连接性
python firebase_admin_mcp/tests/test_firebase_connection.py

# 测试MCP服务器完整性
python firebase_admin_mcp/tests/test_mcp_complete.py

# 演示Firebase代理
python firebase_admin_mcp/tests/demo_firebase_agent.py

# 演示独立代理
python firebase_admin_mcp/demo_standalone_agent.py

🔧 可用工具

MCP服务器提供了跨越三个类别的14个Firebase工具

🔐 身份验证(4个工具)

  • firebase_verify_token - 验证Firebase ID令牌
  • firebase_create_custom_token - 创建自定义认证令牌
  • firebase_get_user - 通过UID获取用户信息
  • firebase_delete_user - 删除用户账户

📚 Firestore数据库(6个工具)

  • firestore_list_collections - 列出所有集合
  • firestore_create_document - 创建新文档
  • firestore_get_document - 获取文档
  • firestore_update_document - 更新文档
  • firestore_delete_document - 删除文档
  • firestore_query_collection - 带过滤器查询集合

🗄️ 云存储(4个工具)

  • storage_list_files - 列出文件(带过滤器)
  • storage_upload_file - 上传文件
  • storage_download_file - 下载文件
  • storage_delete_file - 删除文件

🧪 快速测试

测试服务器健康状况

curl http://127.0.0.1:8001/mcp/

测试一个Firebase工具

curl -X POST http://127.0.0.1:8001/mcp/ \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "method": "tools/call",
    "params": {
      "name": "firestore_list_collections",
      "arguments": {}
    },
    "id": 1
  }'

🤖 AI代理集成

LangChain示例

from langchain_openai import ChatOpenAI
from langgraph.prebuilt import create_react_agent

# 导入Firebase工具
from firebase_admin_mcp.tools.agents.firebase_mcp_client import ALL_FIREBASE_TOOLS

# 创建具有Firebase功能的代理
model = ChatOpenAI(model="gpt-4")
agent = create_react_agent(
    model=model,
    tools=ALL_FIREBASE_TOOLS,
    prompt="您是一个具有完整数据库和存储访问权限的Firebase助手。"
)

# 使用代理
response = agent.invoke({
    "messages": [{"role": "user", "content": "显示我所有的Firestore集合"}]
})

📚 文档

此项目包含全面的文档:

  • FIREBASE_ADMIN_MCP.md - 完整的技术文档

    • 详细的API参考
    • 所有工具规范
    • 高级配置
    • 安全考虑
    • 生产部署指南
  • STANDALONE_AGENT.md - 独立代理文档

    • 自包含的Firebase代理
    • 完整的功能概述
    • 使用示例
    • 集成模式

🔧 故障排除

常见问题

问题: 默认应用不存在错误 解决方案: 验证.env文件中的credentials.json路径

问题: 服务器无法启动 解决方案: 检查端口8001是否可用:netstat -an | findstr :8001

问题: Firebase连接失败 解决方案: 验证控制台中的Firebase服务是否已启用

问题: 导入错误 解决方案: 确保安装了所有依赖项:pip install -r requirements.txt

🎯 下一步?

  1. 探索独立代理 - 适合快速测试和演示
  2. 阅读完整文档 - 查看FIREBASE_ADMIN_MCP.md以获得详细信息
  3. 与您的AI代理集成 - 在您的应用程序中使用MCP工具
  4. 根据需要定制 - 扩展更多的Firebase操作

📝 项目结构

django-firebase-mcp/
├── README.md                          # 此文件
├── FIREBASE_ADMIN_MCP.md             # 完整文档
├── STANDALONE_AGENT.md               # 独立代理指南
├── requirements.txt                   # Python依赖项
├── credentials.json                   # Firebase凭证(由你创建)
├── .env                              # 环境变量(由你创建)
├── manage.py                         # Django管理
├── firebase_admin_mcp/               # 主MCP应用
│   ├── standalone_firebase_agent.py  # 独立代理
│   ├── tools/                        # Firebase MCP工具
│   ├── management/commands/          # Django命令
│   └── tests/                        # 测试套件
└── django_firebase_mcp/             # Django项目设置

🤝 贡献

  1. 分叉仓库
  2. 创建特性分支
  3. 测试更改
  4. 提交拉取请求

📄 许可证

MIT许可证 - 详情见LICENSE文件。


🔥 准备好用Firebase增强你的AI代理了吗?

从独立代理开始,然后探索完整的文档以了解高级用法!