使用说明
MCP税务申报助理(1040NR)
一个上下文感知的人工智能助手,旨在帮助非居民客户提交1040NR纳税申报表。该系统利用 模型上下文协议(MCP) 安全地访问客户端数据 瑞迪斯 用于保持对话记忆。
🚀 特性
- 智能税务协助:1040NR归档工作流的专门提示。
- MCP集成:用途
langchain-mcp-adapters通过MCP工具将LLM与MySQL数据库连接。 - 情境感知:使用Redis记住之前的交互、讨论的税务表格和特定的客户端详细信息。
- 注重隐私:内置规则,防止泄漏内部客户端ID或引用类型。
- 双客户端支持:使用动态模式映射处理“公司”和“个人”客户端类型。
🛠️ 技术栈
- 后端:Python、FastAPI
- AI/LLM:朗链,OpenAI GPT-4o-mini
- 数据库MySQL(通过MCP工具)
- 记忆:Redis(12小时TTL)
- 协议:模型上下文协议(MCP)
📋 先决条件
- Python 3.10+
- Redis服务器(本地或云端)
- mysql数据库
- OpenAI API密钥
⚙️ 安装
-
克隆存储库
git clone <repository-url> cd TAX_MCP -
创建并激活虚拟环境
python -m venv env # Windows .\env\Scripts\activate # Linux/Mac source env/bin/activate -
安装依赖项
pip install -r requirements.txt
🔧 配置
创建一个 .env 根目录中的文件,包含以下变量:
# OpenAI
OPENAI_API_KEY=sk-...
# Database (MySQL)
DB_HOST=localhost
DB_USER=root
DB_PASSWORD=your_password
DB_NAME=your_db_name
DB_PORT=3306
# Redis
HOST=localhost
PORT=6379
PASSWORD=your_redis_password
🏃♂️ 用法
-
启动FastAPI服务器
python app.py服务器将于启动
http://0.0.0.0:8002. -
API端点
- 统一资源定位符:
/chat/agent - 方法:
POST - 身体:
{ "user_id": "user123", "client_id": 3, "reference": "company", "query": "What is my current account status?", "use_agent": true }
- 统一资源定位符:
📂 项目结构
app.py:FastAPI应用程序入口点和API路由处理程序。client.py:核心代理逻辑、MCP客户端设置和Redis内存管理。mcp_functions.py:定义MCP工具和数据库查询。connection.py:数据库连接帮助程序。requirements.txt:Python依赖关系。
🛡️ 隐私和安全
- 内部ID:系统配置为从不暴露
client_id或reference键入响应。 - 存储器TTLRedis中的对话历史记录在12小时后自动过期。