Token导航 LogoToken导航TokenDH.com
AI MCP Server Langchain logo
浏览器工具未说明官方级别未说明来源级核验

AI MCP Server Langchain

MCP Server

一个结合LangChain、LangGraph和MCP协议的模块化LLM服务器,支持多种LLM提供商和工具集成,提供数学计算、天气查询、Strava活动跟踪和基于RAG的文档问答功能。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
模块化架构HTMLClaudeLangChainClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

Tafehi

提供方

Tafehi

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

带LangChain、LangGraph和Streamlit前端的MCP服务器

这个项目展示了组合的灵活性和力量 LangChain, LangGraph,以及 多分量协议(MCP) 构建一个具有Streamlit前端的模块化、LLM驱动的服务器。它支持多个LLM提供商(Ollama和AWS Bedrock),并集成了数学、天气、Strava活动跟踪和基于RAG的文档质量保证工具。

______________________________________________________________________

🎯 目的

此存储库展示了如何使用以下工具构建模块化、可扩展和智能的LLM驱动系统:

  • LangChain用于链式逻辑。
  • LangGraph用于基于图的编排。
  • MCP用于分布式刀具布线。
  • Streamlit用于干净和交互式的前端。

它演示了如何将多个LLM和工具集成到一个有凝聚力的解决方案中。

通过使用 MCP检查员 您可以跟踪MCP服务器中添加的工具、资源和提示的数量,以及 MCP inspector 使调试变得容易。 下面可以看到这个AI驱动的应用程序的屏幕截图。

______________________________________________________________________

🔐 通过快速工程实现安全

该应用程序通过使用系统级提示工程将严格的安全协议直接嵌入LLM的行为中,从而优先考虑数据安全和负责任的AI行为。

✅ 为什么要进行快速安全工程?

大型语言模型(LLM)功能强大,但可能会无意中暴露:

  • 内部逻辑或源代码
  • 异常跟踪或调试消息
  • 敏感凭据或API密钥
  • 为了缓解这种情况,我们实施了一个通用的系统提示,该提示控制着模型在所有工具和代理中的行为。

🧠 系统提示策略

与LLM的每次交互都以系统消息开头,响应如下。

📌 益处

防止敏感实施细节的意外泄露。 确保遵守内部安全政策。 增强LLM驱动应用程序的信任和安全性。

______________________________________________________________________

______________________________________________________________________

🧱 项目结构

.
├── documents
│   └── latest
│       ├── agents
├── main.py
├── mcp_server
│   ├── __init__.py
│   └── client.py
├── models
│   ├── __init__.py
│   ├── bedrock_model.py
│   └── ollama_model.py
├── pyproject.toml
├── README.md
├── requirements.txt
├── tools
│   ├── __init__.py
│   ├── math_tool.py
│   ├── rag_tool.py
│   ├── strava_api.py
│   └── weather_api.py
└── uv.lock

______________________________________________________________________

🚀 特性

  • 流式前端 用于用户交互
  • MCP客户端 将任务路由到适当的代理
  • 语言链+语言图 用于编排和LLM集成
  • Ollama&AWS基岩 作为LLM提供者
  • 工具代理 用于:

- 数学运算 - 天气信息 - Strava活动报告 - 基于HTML的RAG QA

______________________________________________________________________

📦 安装

  1. 使用uv安装依赖项:
   uv pip install -r requirements.txt

设置环境变量:

  • 将.env.example.复制到.env:
   cp .env.example .env
  • 填充 .env 使用您自己的配置:
    ## AWS configuration
    AWS_ACCESS_KEY_ID=""
    AWS_SECRET_ACCESS_KEY=""
    AWS_SESSION_TOKEN=""
    AWS_REGION="eu-west-1"

    ## Weather API configuration
    WEATHER_URL="https://api.weatherapi.com/v1/current.json"
    WEATHER_API_KEY=""

    ## Web search API configuration
    WEB_SEARCH_API_KEY=""

    ## Strava API configuration
    STRAVA_CLIENT_ID=""
    STRAVA_CLIENT_SECRET=""
    STRAVA_ACCESS_TOKEN=""
    STRAVA_END_POINT="https://www.strava.com/api/v3/athlete"

______________________________________________________________________

🧠 LLM模型

奥拉马

  • llama3.2:最新(默认)
  • orionstar/orion14b-q4:最新
  • 提示/赫尔墨斯2-pro

AWS基岩

  • 人择。claude-3-7连接-20250219-v1:0
  • mistral混音器-8x7b-指令-v0:1
  • 人择。claude-3-haiku-20240307-v1:0

您可以通过Streamlit UI动态切换模型。

______________________________________________________________________

🧠 MCP客户端路由

MCP_server/client.py中的MCP客户端使用以下配置来路由任务:

    client = MultiServerMCPClient(
        {
            "math": {
                "command": "python",
                "args": ["tools/math_tool.py"],
                "transport": "stdio",
            },
           "rag": {
                "command": "python",
                "args": ["tools/rag_tool.py"],
                "transport": "stdio",
            },
            "strava": {
                "url": "http://localhost:8001/mcp/",
                "transport": "streamable_http",
            },
            "weather": {
                "url": "http://localhost:8002/mcp/",
                "transport": "streamable_http",
            },
        }
    )

______________________________________________________________________

🛠️ 工具代理

🧮 math_tool.py

  • 基本算术:加、减、乘、除
  • 三角函数:sin(x)

🚴 strava_api.py

  • 从Strava获取运动员数据
  • 提供:

- 最新活动的完整报告 - 活动列表,包括名称、距离等。 - 总结和进展要点

🌦️ weather_api.py

  • 返回给定城市的天气数据:
        {
        "city": "Oslo",
        "country": "Norway",
        "latitude": 59.91,
        "longitude": 10.75,
        "last_updated": "2025-07-23 12:00",
        "temperature_c": 22.5,
        "condition": "Partly cloudy",
        "wind_kph": 15.0
      }

______________________________________________________________________

📄 rag_tool.py

  • 从文档中读取HTML/
  • 使用LangChain+LangGraph RAG管道回答问题

______________________________________________________________________

🖥️ 运行应用程序

启动Streamlit前端:

  streamlit run main.py
  • 默认LLM模型是llama3.2:最新(Ollama)
  • 您可以提问,应用程序将通过MCP将问题发送给相应的代理

目录标签

目录标签

模块化架构HTMLClaudeLangChain本地部署LLM服务器多工具集成LangGraph

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP