MCP 服务器
MCP服务器与土耳其收入管理局(GIB)的电子档案发票系统集成。
📝 阅读Medium上的完整故事 (土耳其语)
______________________________________________________________________
英语
特性
- 📋 列出并搜索电子发票
- 🔍 获取发票详细信息和XML
- ✏️ 创建和取消发票
- ✅ 验证土耳其税号(VKN/TCKN)
- 🎭 演示模式 -无真实凭证的测试
- 🔒 生产就绪 -演示版和真实版API之间的自动切换
快速开始
1.安装
git clone https://github.com/reyhansunduk/efatura-mcp-server.git
cd efatura-mcp-server
pip install -e .2.演示模式(无需凭据)
服务器立即处理模拟数据:
python -m efatura_mcp.server测试: ⚠️ DEMO MODE: Using mock data
3.与克劳德桌面一起使用
创建配置文件:
- 窗户:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"efatura": {
"command": "python",
"args": ["-m", "efatura_mcp.server"],
"cwd": "C:\\path\\to\\efatura-mcp-server"
}
}
}4.在Claude Desktop中进行测试
问克劳德:
List invoices您应该看到5张演示发票!
切换到Real GİB API
当准备好使用真实数据时:
- 编辑
.env文件:
GIB_USERNAME=your_vkn_here
GIB_PASSWORD=your_password_here
GIB_ENVIRONMENT=test- 重新启动服务器
当提供凭证时,服务器会自动切换到真正的API。
可用的MCP工具
服务器提供了7个Claude可以使用的MCP工具:
1. list_invoices
列出GIB系统中的e-Fatura发票。
参数:
start_date(可选):开始日期(YYYY-MM-DD)end_date(可选):结束日期(YYYY-MM-DD)limit(可选):要返回的最大发票数(默认值:10)
例子: “显示上个月的发票”
2. get_invoice_detail
获取特定发票的详细信息。
参数:
invoice_id(必填):发票ID/UIDI
例子: “显示发票ABC2024000001的详细信息”
3. get_invoice_xml
获取UBL-TR格式的发票HTML/XML内容。
参数:
invoice_id(必填):发票ID/UIDI
例子: “获取发票ABC2024000001的XML”
4. create_invoice
在GIB系统中创建新的e-Fatura发票。
参数:
invoice_number,issue_date,supplier_vkn,supplier_namecustomer_vkn,customer_name,items[],total_amountcurrency(可选,默认值:TRY)
例子: “为客户XYZ创建1000土耳其里拉的发票”
5. cancel_invoice
取消现有发票。
参数:
invoice_id(必填):要取消的发票IDreason(必填):取消原因
例子: “由于错误取消发票ABC2024000001”
6. search_invoices
使用过滤器搜索发票。
参数:
customer_name,supplier_name(可选)min_amount,max_amount(可选)status(可选):已批准、待处理、已取消
例子: “查找超过10000土耳其里拉的发票”,“显示待处理的发票”
7. validate_tax_number
验证土耳其税号(VKN/TCKN)。
参数:
tax_number(必填):10位或11位税号
例子: “验证税号1234567890”
获取GİB证书
获取凭据: 使用贵公司现有的e-Fatura证书
- 门户:https://earsivportal.efatura.gov.tr(生产)
- 测试门户:https://earsivportaltest.efatura.gov.tr(测试)
项目结构
efatura-mcp-server/
├── src/
│ └── efatura_mcp/
│ ├── server.py # Main MCP server
│ ├── gib_earsiv_client.py # Real GİB API client
│ └── mock_data.py # Demo data
├── .env # Credentials (gitignored)
├── .env.example # Template
└── README.md看 安全.md 完整的指南。
需求
- Python 3.10+
- Claude Desktop(或任何MCP客户端)
依赖项会自动安装 pip install -e .
许可证
麻省理工学院
______________________________________________________________________
土耳其语
产品特点
- 📋 列出和搜索电子发票
- 🔍 获取发票详细信息和XML
- ✏️ 创建发票并取消
- ✅ 验证税号 (VKN/TCKN)
- 🎭 演示模块 - 测试没有真正的凭据
- 🔒 生产危险 - 在演示和真实API之间自动切换
快速入门
1. 安装
git clone https://github.com/reyhansunduk/efatura-mcp-server.git
cd efatura-mcp-server
pip install -e .2. 演示模式 (无需凭据)
服务器立即使用模拟数据:
python -m efatura_mcp.server对于测试: ⚠️ DEMO MODE: Using mock data
使用 Claude Desktop
创建配置文件:
- 窗户:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"efatura": {
"command": "python",
"args": ["-m", "efatura_mcp.server"],
"cwd": "C:\\Users\\..\\efatura-mcp-server"
}
}
}4.克劳德桌面测试等
条款或:
Faturaları listele发票将被列出。
切换到真正的GIB API
准备好使用实际数据时:
.env编辑文件 :
GIB_USERNAME=vkn_buraya
GIB_PASSWORD=sifre_buraya
GIB_ENVIRONMENT=test- 重新启动服务器
当提供服务器凭据时,它会自动切换到真实的 API。
现有的MCP工具
服务器提供了7个MCP工具,Claude可以使用:
1. list_invoices
从GDP系统列出电子发票。
参数 :
start_date(可选): 开始日期 (YYY-MM-DD)end_date(可选): 到期日期 (YYY-MM-DD)limit(可选):最大发票数量(默认:10)
例子 : “显示上个月的账单”
2. get_invoice_detail
提供特定发票的详细信息。
参数 :
invoice_id(zorunlu):法图拉ID/UUID
例子 : “显示ABC2024000001发票详情”
3. get_invoice_xml
发票以 UBL-TR 格式导入 HTML/XML 内容。
参数 :
invoice_id(zorunlu):法图拉ID/UUID
例子 : “获取ABC2024000001发票的XML”
4. create_invoice
在GIB系统中创建新的电子发票。
参数 :
invoice_number,issue_date,supplier_vkn,supplier_namecustomer_vkn,customer_name,items[],total_amountcurrency(可选, 默认: TRY)
例子 : “为 XYZ 客户创建 1000 TRY 发票”
5. cancel_invoice
取消现有账单。
参数 :
invoice_id(必填): 要取消的发票IDreason(必填):取消原因
例子 : “因错误取消ABC2024000001发票”
6. search_invoices
现在过滤账单.
参数 :
customer_name,supplier_name(可选)min_amount,max_amount(可选)status(opsiyonel):已批准、待定、取消
例子 : “查找10000美元以上的发票”,“显示待定发票”
7. validate_tax_number
验证土耳其税号(VKN/TCKN)。
参数 :
tax_number(必填):10位或11位税号
例子 : “验证税号1234567890”
如何获取GIB凭据
如何做到这一点: 使用公司现有的电子发票凭据
- 门户:https://earsivportal.efatura.gov.tr(canlı)
- 测试门户:https://earsivportaltest.efatura.gov.tr(测试)
项目结构
efatura-mcp-server/
├── src/
│ └── efatura_mcp/
│ ├── server.py # Ana MCP sunucu
│ ├── gib_earsiv_client.py # Gerçek GİB API client
│ └── mock_data.py # Demo verisi
├── .env # credentials'ın (gitignored)
├── .env.example # Şablon
└── README.md为了完整的指南 安全.md你看
要求
- Python 3.10+
- Claude Desktop(或任何 MCP 客户端)
依赖关系 pip install -e . 自动安装。
许可证
麻省理工学院
______________________________________________________________________
技术支持/Destik
有关问题和疑问,请在GitHub上打开问题。
如有任何问题或疑问,请在 GitHub 上发布问题。
