使用说明
MCP服务器(抵押贷款比较平台)
基于FastAPI的服务器,通过标准化的API提供抵押贷款文档解析和比较工具。该服务器旨在轻松集成各种AI框架,包括CrewAI、AutoGen和LangChain。
目前实现了一个基本的“hello”工具作为概念证明,抵押文件解析工具即将推出。
状态
这是一个测试版(v0.1.0),提供:
- 具有安全功能的核心服务器基础架构
- 用于测试框架集成的基本“hello”工具
- 与CrewAI、AutoGen和LangChain的集成示例
未来的版本将添加抵押文件解析和比较工具。
特性
- 具有生产就绪功能的FastAPI服务器:
- API密钥验证
- 速率限制支持
- CORS中间件配置
- AI代理的框架集成:
- CrewAI
- AutoGen
- LangChain
- 用于添加抵押解析工具的可扩展架构
- 开源以实现透明度和社区贡献
快速开始
- 克隆存储库:
git clone https://github.com/confersolutions/mcp-mortgage-server.git cd mcp-mortgage-server
路线图
- ✅ 具有安全性和速率限制的核心服务器基础架构
- ✅ 框架集成(CrewAI、AutoGen、LangChain)
- ✅ 基本工具实现(“hello”端点)
- 🚧 贷款估算(LE)解析为MISMO格式
- 🚧 结案披露(CD)解析
- 🚧 抵押贷款比较工具
- 🚧 其他抵押文件分析功能
安装
- 克隆存储库
- 创建虚拟环境:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate - 安装依赖项:
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许可证-请参阅 许可证 文件以获取详细信息。
