金融文档工具服务器

一个模型上下文协议(MCP)服务器,为Claude提供访问您基础设施上托管的金融文档工具的能力。

  • by marcusgyback
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 marcusgyback/finance_mcp_server

使用说明

财务分析MCP服务器

一个模型上下文协议(MCP)服务器,允许Claude访问托管在您自己的基础设施上的财务文档工具。客户端使用自定义服务器URL从claude.ai连接——服务器逻辑保持隐藏,claude只看到工具名称、参数描述和结果。

该服务器附带了7个完全实现的存储工具,用于读取和写入存储在S3或任何S3兼容存储(Filestash、MinIO、Backblaze B2)中的PDF、Excel工作簿、Word文档和纯文本文件。还包括三个财务工作流程工具存根,供您填写自己的分析逻辑。


设置

1.克隆并安装

git clone <your-repo-url>
cd financial-mcp-server
pip install -r requirements.txt

2.配置环境

cp .env.example .env

打开 .env 并填写您的存储凭据:

S3_ENDPOINT_URL=https://your-filestash-or-s3-endpoint.com
S3_ACCESS_KEY=your-access-key
S3_SECRET_KEY=your-secret-key
S3_BUCKET_NAME=your-bucket-name
S3_REGION=us-east-1
MCP_HOST=0.0.0.0
MCP_PORT=8000

对于标准AWS S3,请离开 S3_ENDPOINT_URL 空(或将其从中删除 .env)boto3将使用默认的AWS端点。


跑步

本地

python server.py

服务器启动于 http://0.0.0.0:8000 (或中设置的主机/端口 .env).

使用Docker

# Build the image
docker build -t financial-mcp-server .

# Run with your .env file
docker run --env-file .env -p 8000:8000 financial-mcp-server

从claude.ai连接

  1. 打开 claude.ai 并前往 设置→ 集成 (或MCP/自定义工具部分)。
  2. 添加一个 自定义MCP服务器.
  3. 输入URL:
    http://your-server-host:8000/mcp
    
    替换 your-server-host 使用服务器的IP地址或域名。如果您在本地运行并在浏览器中进行测试,请使用 http://localhost:8000/mcp.
  4. 保存。Claude现在将列出可用的工具,并可以在对话中调用它们。

对于生产使用,将服务器放在具有TLS的反向代理(nginx、Caddy)后面,这样URL就是 https://.


存储工具参考

工具 说明
list_folder 列出存储路径前缀下的文件/文件夹,包括大小和日期
read_pdf 从PDF中提取文本和表格;表格是列对齐的
read_spreadsheet 将Excel工作簿读取为CSV文本,每页一节
read_file 阅读a .json, .csv,或 .txt 档案;JSON打印效果很好
write_file 将文本内容写入存储路径;JSON是自动格式化的
create_spreadsheet 创建一个 .xlsx JSON字典或列表数组中的文件
create_word_document 创建一个 .docx 从文本与 #/##/### 标题语法

read_pdf--表处理

read_pdf 使用pdfplumber extract_tables() 将表格数据与段落文本分开捕获。每张表都采用以下格式 str.ljust() 这样行标签就可以与它们的数字列对齐——这对于数字错位会产生误导的财务报表至关重要。

read_spreadsheet--公式缓存注释

read_spreadsheet 打开工作簿 data_only=True,它读取缓存的计算值而不是原始公式。只有在上次编辑后打开工作簿并将其保存在Excel(或兼容应用程序)中时,这些缓存值才会出现。以编程方式生成但从未在Excel中打开的文件可能会返回 None 对于公式单元格。