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
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小时后自动过期。
