企业发票OCR识别MCP服务器,基于RapidOCR和ModelScope生态,支持多种发票类型的结构化识别
npm install invoice_ocr_mcpbash
克隆项目
git clone https://github.com/wuyonghui0810/invoice-ocr-mcp.git
cd invoice-ocr-mcp
创建虚拟环境
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
安装依赖
pip install -r requirements.txt
配置环境变量
cp .env.example .env
编辑 .env 文件,添加你的 ModelScope API Token
`
$3
`bash
构建镜像
docker-compose build
启动服务
docker-compose up -d
`
📖 使用指南
$3
`python
import asyncio
from mcp.client.session import ClientSession
from mcp.client.stdio import stdio_client
async def main():
async with stdio_client(["python", "src/invoice_ocr_mcp/server.py"]) as streams:
async with ClientSession(streams[0], streams[1]) as session:
await session.initialize()
# 识别单张发票
result = await session.call_tool(
"recognize_single_invoice",
{"image_data": "base64_encoded_image_data"}
)
print("识别结果:", result)
if __name__ == "__main__":
asyncio.run(main())
`
$3
`python
批量识别发票
result = await session.call_tool(
"recognize_batch_invoices",
{
"images": [
{"id": "invoice1", "image_data": "base64_data1"},
{"id": "invoice2", "image_data": "base64_data2"}
],
"parallel_count": 3
}
)
`
🔧 配置说明
`json
{
"mcpServers": {
"invoice_ocr_mcp": {
"command": "npx",
"args": ["node", "start-python.js"],
"env": {
}
}
}
}
`
🔧 配置说明
主要配置文件位于 configs/ 目录:
- models.yaml: ModelScope模型配置
- server.yaml: 服务器配置
- logging.yaml`: 日志配置