Norm 命令资源服务器为用户提供了一系列功能模块,用于公司信息查看、交易管理、发票管理等操作,帮助用户更高效地处理各类业务。
.env 文件cp .env.template .env
# 在 .env 中填写您的 Norman Finance 凭据
使用 MCP 检查器运行开发模式:
mcp dev norman_mcp/server.py
这将启动服务器并在浏览器中打开 MCP 检查器,您可以在其中测试资源和工具。
Norm 命令 资源服务器提供了以下功能模块:
company://current 资源访问。get_company_status 工具。transactions://list/1/10 资源查看近期交易。create_transaction 工具,参数包括金额、描述和现金流类型。search_transactions_prompt 提示进行日期范围筛选。create_invoice 工具,需提供客户 ID 和商品信息。send_invoice 工具,并设置邮件主题和正文内容。link_transaction 工具将交易关联到发票。clients://list 资源获取客户列表。get_client 工具,输入客户 ID 获取详细信息。upload_bulk_attachments 工具批量上传文件,并指定交易类型。list_attachments 工具,可按文件名、关联状态和类型进行过滤。taxes://list 资源获取所有可用的税务报告。generate_finanzamt_preview 工具生成测试 Finanzamt 预览。submit_tax_report 工具完成税务报告提交。git clone https://github.com/norman-finance/norman-mcp-server.git
cd norman-mcp-server
pip install -r requirements.txt
python server.py
要使用 Norm 命令 资源服务器,请按照以下步骤进行安装:
pip install norm-cmd
如果您需要对代码进行修改或贡献,可以克隆此仓库:
git clone https://github.com/norman-finance/norman-mcp-server.git
cd norman-mcp-server
推荐使用虚拟环境来运行 Norm 命令 资源服务器。以下是创建和激活虚拟环境的步骤:
venvpython -m venv venv
source venv/bin/activate # 在 Windows 上:venv\Scripts\activate
uv(推荐)uv venv
source .venv/bin/activate # 在 Windows 上:.venv\Scripts\activate
安装额外的开发依赖项:
pip install -e ".[dev]"
或者使用 uv:
uv pip install -e ".[dev]"
以下是一些使用 Norm 命令资源服务器的基础示例:
# 通过 company://current 资源访问公司详情
# 这里假设在合适的环境中执行此操作
# 代码仅为示意,实际可能需要更多配置
# 例如在开发模式启动服务器后,通过相应接口调用
# 具体实现依赖于服务器的具体架构和接口设计
# 调用 transactions://list/1/10 资源查看近期交易
# 同样,实际使用需在合适环境和配置下进行
# 使用 create_transaction 工具创建交易,参数包括金额、描述和现金流类型
# 以下是一个示例调用,实际参数需根据具体情况填写
# 假设在开发模式下,且环境已正确配置
# 代码仅为示意,实际可能需要更多参数处理和错误处理
create_transaction amount=100 description="Test Transaction" cash_flow_type="income"
get_company_status:获取公司当前状态。create_transaction(amount, description, transaction_type):创建新的交易记录。search_transactions(start_date, end_date):按日期范围搜索交易记录。create_invoice(customer_id, items):生成新的发票,需提供客户 ID 和商品信息。send_invoice(invoice_id, subject, body):通过邮件发送指定的发票,并设置邮件主题和正文内容。get_client(client_id):获取指定客户 ID 的详细信息。search_transactions(start_date, end_date)
create_invoice(customer_id, items)
send_invoice(invoice_id, subject, body)