抵押贷款比较平台

基于FastAPI的服务器,提供抵押贷款文档解析和比较工具,支持与多种AI框架集成。

  • by Confer-Inc
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 Confer-Inc/mcp-mortgage-server

使用说明

MCP服务器(抵押贷款比较平台)

基于FastAPI的服务器,通过标准化的API提供抵押贷款文档解析和比较工具。该服务器旨在轻松集成各种AI框架,包括CrewAI、AutoGen和LangChain。

目前实现了一个基本的“hello”工具作为概念证明,抵押文件解析工具即将推出。

状态

这是一个测试版(v0.1.0),提供:

  • 具有安全功能的核心服务器基础架构
  • 用于测试框架集成的基本“hello”工具
  • 与CrewAI、AutoGen和LangChain的集成示例

未来的版本将添加抵押文件解析和比较工具。

特性

  • 具有生产就绪功能的FastAPI服务器:
    • API密钥验证
    • 速率限制支持
    • CORS中间件配置
  • AI代理的框架集成:
    • CrewAI
    • AutoGen
    • LangChain
  • 用于添加抵押解析工具的可扩展架构
  • 开源以实现透明度和社区贡献

快速开始

  1. 克隆存储库:
    git clone https://github.com/confersolutions/mcp-mortgage-server.git
    cd mcp-mortgage-server
    

路线图

  • ✅ 具有安全性和速率限制的核心服务器基础架构
  • ✅ 框架集成(CrewAI、AutoGen、LangChain)
  • ✅ 基本工具实现(“hello”端点)
  • 🚧 贷款估算(LE)解析为MISMO格式
  • 🚧 结案披露(CD)解析
  • 🚧 抵押贷款比较工具
  • 🚧 其他抵押文件分析功能

安装

  1. 克隆存储库
  2. 创建虚拟环境:
    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
    
  3. 安装依赖项:
    pip install fastapi uvicorn slowapi python-dotenv
    pip install crewai autogen langchain langchain-openai
    

配置

创建一个 .env 根目录中的文件,包含以下变量:

API_KEY=your_api_key_here
RATE_LIMIT_PER_MINUTE=120
ALLOWED_ORIGINS=http://localhost:3000
HOST=0.0.0.0
PORT=8001
WORKERS=1

运行服务器

python server.py

服务器将于启动http://localhost:8001默认情况下。

API终点

健康检查

GET /health
Response: {"status": "healthy"}

列出可用工具

GET /tools
Headers: X-API-Key: your_api_key_here
Response: List of available tools and their configurations

呼叫工具

POST /call
Headers: X-API-Key: your_api_key_here
Body: {
    "tool": "hello",
    "input": {
        "name": "World"  // Optional
    }
}
Response: {
    "output": "Hello, World!"
}

框架集成示例

看 examples/test_all_integrations.py 例如,如何使用服务器:

  • CrewAI
  • AutoGen
  • LangChain

CrewAI示例

from crewai import Agent, Task, Crew
from mcp_toolkit import MCPToolkitCrewAI

toolkit = MCPToolkitCrewAI()
tools = await toolkit.get_tools()

agent = Agent(
    role="Greeter",
    goal="Say hello to the user",
    tools=tools
)

task = Task(
    description="Say hello to the user",
    agent=agent
)

crew = Crew(
    agents=[agent],
    tasks=[task]
)

result = await crew.kickoff()

AutoGen示例

from autogen import AssistantAgent, UserProxyAgent
from mcp_toolkit import MCPToolkitAutoGen

toolkit = MCPToolkitAutoGen()
tools = await toolkit.get_tools()

assistant = AssistantAgent(
    name="assistant",
    llm_config={"tools": tools}
)

user_proxy = UserProxyAgent(
    name="user_proxy",
    code_execution_config={"use_docker": False}
)

await user_proxy.initiate_chat(assistant, message="Please say hello to Alice")

LangChain示例

from langchain.agents import Tool, AgentExecutor, create_react_agent
from langchain_openai import ChatOpenAI
from mcp_toolkit import MCPToolkitLangChain

toolkit = MCPToolkitLangChain()
tools = [
    Tool(
        name="hello",
        func=lambda x: asyncio.get_event_loop().run_until_complete(toolkit.hello(name=x)),
        description="A tool that says hello to someone",
        return_direct=True
    )
]

llm = ChatOpenAI(temperature=0)
agent = create_react_agent(llm, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools)

result = await agent_executor.ainvoke({"input": "Please say hello to Bob"})

速率限制

服务器通过以下方式实现速率限制 slowapi。默认情况下,它设置为每个IP地址每分钟120个请求。这可以使用配置 RATE_LIMIT_PER_MINUTE 环境变量。

安全

  • 除以下端点外,所有端点都需要API密钥身份验证 /health
  • CORS配置为允许特定的来源(通过设置 ALLOWED_ORIGINS 环境变量)
  • 所有异常都会被捕获并返回相应的错误消息

贡献

请随时打开问题或提交改进请求。

关于

该项目由以下人员维护 Confer解决方案如有疑问或需要支持,请通过以下方式联系我们:info@confersolutions.ai.

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。