ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

【AI大模型教程】一文讲清支持 MCP 的七大 AI 框架有哪些!零基础小白收藏这一篇就够了!!

【AI大模型教程】一文讲清支持 MCP 的七大 AI 框架有哪些!零基础小白收藏这一篇就够了!! 前言使用 Python 和 Typescript 框架创建 AI 应用这些框架可借助 MCP 服务器为大型语言模型LLMs提供上下文。AI 代理工具包[1]为开发者提供了各种 API使 AI 解决方案具备执行任务的工具并确保结果准确从而提升用户满意度。然而将这些工具集成进 AI 应用并进行管理可能十分复杂。本文将向你介绍一种为 LLMs 和代理提供上下文的行业标准 ——Model Context ProtocolMCP[2]。LLM 上下文提供方式与规范默认情况下如果不给大型语言模型LLMs和 AI 聊天机器人[3]提供适当的上下文它们将无法获取实时信息、执行代码、调用外部工具与 API甚至无法代表用户使用网络浏览器。开发者可以通过以下方法来解决 LLM 与代理的这一限制•Composio[4]Composio 提供了集成 AI 代理和 LLM 的规范和工具库。除了 Composio 现有的预构建工具库外他们最近还发布了Composio MCP允许开发者连接 100 多个 MCP 服务器到 IDE 中。点击上方链接查看 Composio MCP [5]工具分类将多个应用连接至 MCP 支持的 IDE如 Cursor、Claude 和 Windsurf中的项目。•Agents.json[6]一种基于 OpenAI 标准构建的规范旨在确保 AI 代理[7]与 API 和外部工具之间的交互顺畅且功能增强。尽管 Agents.json 是一个很好的规范但其使用并不广泛也未被像 MCP 那样广泛采纳。可参考其 GitHub 仓库[8]了解详情并开始使用。•MCPMCP 为开发者提供了最佳方式以向 LLMs 和 AI 助手提供上下文数据以解决问题。例如你可以构建一个 MCP 文档服务器为 IDE 和代理框架提供完整的文档访问就像使用 llms.txt[9]文件一样。什么是 MCP可以把 MCP 看作是大型语言模型LLMs的第三次进化。•在第一次进化中LLMs 可以准确回答用户的提示内容前提是这些查询存在于其训练数据中。在这个阶段它们无法对训练数据之外的提示做出有意义的回应因为它们无法访问外部工具。•在第二次进化中我们为 LLM 提供了额外的上下文工具虽然这些工具不一定容易操作但能够帮助 LLM 更准确地预测和回答用户意图。•第三次进化仍然由 LLM 与工具组成但我们构建了一套完善的基础设施使它们可以访问外部应用程序并确保系统易于维护。在构建 AI 服务时你的数据可能托管在云端比如一个 AI 助手应用在企业环境中负责处理客户支持[10]工单。MCP 是由 Anthropic[11] 提出的一个开源协议你可以使用它将企业数据连接至 AI 系统。MCP 提供了一种标准化方式用于连接和通信内容存储库如 GitHub、Notion、开发环境、网页工具和业务工具[12]以支持 AI 助手技术的发展。MCP 的一个非常流行并不断增长的应用场景是AI 辅助编程。目前已有数百个 MCP 与开发环境及工具如 Cursor[13]、Windsurf[14]完成集成开发者可借此连接外部应用并进行交互式开发。注意本文旨在介绍如何将 MCP 实现于使用 Python 和 TypeScript 构建的 AI 助手与代理系统中不涉及基于 IDE 的 MCP 集成。MCP 的工作原理在 LLMs 与智能代理的上下文中MCP 的作用是帮助它们对超出内置知识范围的用户请求做出有意义的回应。举个例子你让 ChatGPT 向某个 Slack 频道发送消息、检查你的日历是否有空、并与同事安排今天的会议。你可能会对 ChatGPT 的回应感到失望因为它无法访问这些外部应用程序。而通过实现 MCP可以让这些 AI 助手输出真正有用的结果。开发者通常提出的第一个问题就是“MCP 是如何工作的”MCP 的基本操作流程如下用户向代理发送一个请求。代理判断应该调用哪个 MCP 服务器和工具以获取执行该操作所需的相关信息。代理再利用某个具体工具返回的数据来回应用户的请求。为什么要在 AI 代理和基于 LLM 的应用中采用 MCPMCP 正逐渐成为一种标准它帮助开发者构建能够与外部应用有效通信的 AI 系统。微软最近在其 Copilot Studio[15] 中宣布集成 MCP旨在简化 AI 应用与代理访问工具的方式。同时OpenAI 也宣布[16]将在旗下产品中支持 MCP包括 Agents SDK[17] 和 ChatGPT 桌面应用程序。当然直接将工具集成到 AI 助手中并没有错但对于一个包含多个代理、承担多项任务的 AI 系统来说这种方式将变得非常笨重。例如一个复杂的 AI 系统可能需要执行多项任务比如读取并回复电子邮件进行网页数据抓取完成财务分析获取实时天气信息 。在这种情况下通过 MCP 实现统一、可维护的工具调用机制是更合理也更高效的选择。集成工具的 AI 代理在上图中有三个外部工具连接到了 LLM。如果将来工具数量增加到 100 个甚至更多管理和保障这些工具的安全将变得非常令人头痛。一种更优的方案是通过 MCP 注册表访问这些相同的工具甚至更多100的工具如下一个章节所示。集成 MCP 的 AI 代理在此图中我们将智能代理系统所需的多个工具通过 MCP 服务器整合接入从而为用户提供更一致、更流畅的使用体验。MCP 的方式使得工具的集中管理与安全控制更加容易。使用 MCP 相较于传统工具集成方式的优势与传统方式相比将工具与 AI 代理集成时MCP 具有多个关键优势。比如没有 MCP 时集成工具会遇到很多问题比如由于 AI 基础设施不兼容在进行多次 API 调用时可能会出现各种错误。在 MCP 出现之前每一个要添加到代理中的工具都需要定制开发通常需要几周才能实现。•架构清晰灵活不同于预构建的 AI 工具规范MCP 拥有简洁且灵活的架构方便与工具和 API 交互。•改进的外部工具访问与管理能力MCP 为 AI 模型提供标准化接口实现 LLM 与第三方系统之间的无缝通信。•解决独立工具实现的局限性MCP 工具适用于单用户和团队协作的场景。•社区驱动MCP 拥有丰富的开源服务器和开发者生态系统已在开发社区广泛应用于多种场景。•内建身份认证与权限控制MCP 拥有强大的内置身份验证系统。例如使用 Composio 提供的 MCP 工具时你可以为 Google Sheets 或 Gmail 用户进行认证。•工具搜索便捷MCP 让查找、集成外部工具变得更加简单而不再需要手动安装、配置、调试。•可扩展性强MCP 容易扩展至多用户与多种应用场景。•行业标准虽然你也可以通过硬编码方式为 AI 应用提供上下文但 MCP 提供了一套行业标准帮助代理与 LLM 获取所需上下文信息。MCP 服务器的类型Anthropic 对 MCP 的规范中定义了两种用于将工具接入 AI 代理和项目的服务器形式•SSEServer-Sent Events通过 HTTP 连接到远程服务。•STDIO允许执行本地命令并通过标准输入/输出进行通信。你所选择用于构建 AI 应用的框架会提供必要的类以便连接到这些 MCP 服务器。访问 MCP 注册表/服务器生态系统目前有多个开源库提供托管的 MCP 工具资源用于增强 LLM 和代理的能力确保其生成响应的可靠性。这些托管的 MCP 工具库被称为“注册表”Registries它们提供经过精选的服务集合。你可以使用这些注册表的工具将 AI 应用连接至服务比如uvx基于 Python 的工具无需安装即可使用。还有Docker 版本用于运行 MCP 工具的容器化部署方式。基于npx的服务器需安装 Node.js可快速启动 MCP 服务。•GitHub 上的 MCP 服务器集合包含社区构建的服务器与更多 MCP 资源。•Glama Registry面向生产环境的开源 MCP 服务器专为开发者准备。•Smithery Registry通过 Smithery开发者可访问 2000 MCP 服务器增强 AI 代理和 LLM 的能力。•OpenTools提供用于 MCP 工具的生成式 API。你可以接入数百个现成的 MCP 工具直接应用于你的 AI 项目中。利用 OpenTools API开发者可扩展 LLM 的能力比如网页搜索获取实时地理位置数据网页爬取。该 API 支持Curl、Python 和 TypeScript。你可以访问 OpenTools 的快速入门指南以开始使用该 API。fromopenai importOpenAI clientOpenAI(base_urlhttps://api.opentools.com,api_keyOPENTOOLS_API_KEY)completionclient.chat.completions.create(modelanthropic/claude-3.7-sonnet,messages[{role:user,content:Compare specs of top 5 EVs on caranddriver.com}],tools[{type:mcp,ref:firecrawl}])•PulseMCP Registry[18]通过 PulseMCP你可以浏览各种托管的 MCP 工具及其在 AI 项目中的应用场景。 访问 PulseMCP News[19]了解最近流行的 MCP 服务器与应用。•mcp.run[20]该注册表为开发者提供数百个适用于企业场景的 MCP 应用便于快速接入使用。•Composio Registry[21]Composio 提供基于 SSEServer-Sent Events的 MCP 服务器支持多种 AI 框架的工具集成用于构建 AI 应用程序。•guMCP[22]由 Gumloop 提供的 guMCP是一个免费、开源且完全托管的 MCP 注册表[23]可无缝集成至任意 AI 应用。将 MCP 集成到 LLM 和智能代理中的七大客户端框架尽管 MCP 目前已成为开发者社区的热门话题大家纷纷讨论如何将其集成到 AI 应用和智能代理中但要选择合适的 MCP 客户端框架并不容易。我们进行了调研整理出以下 7 个领先的 MCP 客户端平台适用于基于 Python 和 TypeScript 的代理工作流与 AI 助手开发。注意以下内容聚焦于将 MCP 集成进用于构建 AI 解决方案的框架而非像 Cursor 或 Windsurf 这类 AI 编程编辑器的集成方式。1. 使用 OpenAI Agents SDK 构建 Git MCP Agent当你使用 OpenAI Agents SDK[24] 构建代理时可以借助 SDK 提供的MCPServerStdio和MCPServerSse类连接到社区构建的 MCP 服务器。下面是一个 MCP Agent 的示例实现它连接本地 Git 仓库的根目录并根据用户的请求对该仓库内容作出响应。importasyncioimport shutilimport streamlitasstfrom agents importAgent,Runner,tracefrom agents.mcp importMCPServer,MCPServerStdio# 执行 Git 查询任务async def query_git_repo(mcp_server:MCPServer, directory_path: str, query: str): agent Agent( nameAssistant, instructionsfAnswer questions about the localgit repository at {directory_path}, use that for repo_path, mcp_servers[mcp_server],)with st.spinner(fRunning query: {query}): result await Runner.run(starting_agentagent, inputquery)return result.final_output# 查询封装def run_query(directory_path, query):ifnot shutil.which(uvx): st.error(uvx 未安装请运行 pip install uvx 进行安装。)returnasyncdefexecute_query():asyncwithMCPServerStdio(cache_tools_listTrue,params{command:python,args:[-m,mcp_server_git,--repository,directory_path]},)asserver:withtrace(workflow_nameMCP Git Query):resultawaitquery_git_repo(server,directory_path,query)st.markdown(### 查询结果)st.write(result)asyncio.run(execute_query())# 主页面逻辑同步版本def main_streamlit_app(): st.title(本地 Git 仓库查询助手) st.write(可通过自然语言查询本地 Git 仓库的信息。)directory_pathst.text_input(请输入 Git 仓库路径)ifdirectory_path:col1,col2st.columns(2)withcol1:ifst.button(最频繁的贡献者):queryWhos the most frequent contributor?run_query(directory_path,query)withcol2:ifst.button(最近提交摘要):querySummarize the last change in the repository.run_query(directory_path,query)custom_queryst.text_input(或输入你自己的查询内容)ifst.button(运行自定义查询)andcustom_query:run_query(directory_path,custom_query)if__name____main__:st.set_page_config(page_titleLocal Git Repo Explorer,page_icon,layoutcentered)main_streamlit_app()上面的代码将Streamlit与OpenAI MCP Agent集成借助Git MCP 服务器你可以通过自然语言与本地 Git 仓库进行“对话”。请先安装以下依赖包•pip install streamlit openai-agents mcp-server-git•然后请将你的 OpenAI API 密钥导出到环境变量中export OPENAI_API_KEYsk-....。运行该 Python 文件后你将看到如下界面。你可以在 GitHub 上探索其他 OpenAI MCP[25]示例项目。使用OpenAI Agents SDK进行 MCP 集成有一个重要优势是该功能可以自动记录并展示你的代理在执行 MCP 操作过程中的详细信息比如工具列表请求POST 请求响应记录函数调用的数据获取记录。下图展示了本节 Git MCP 示例运行后的追踪记录示意图你可以在 OpenAI Dashboard[26] 中查看所有操作日志和运行历史信息。 借助 Dashboard开发者可以轻松调试代理逻辑追踪工具调用链路优化 AI 应用流程。2. 使用 Praison AI 构建 MCP AI 代理Praison AI是一个基于 Python 的 AI 框架用于构建多智能体系统团队型代理。它提供了极其简便的方式仅用一行代码即可将 MCP 工具服务器集成进代理工作流就像使用传统工具一样轻松。下列示例展示了如何将Airbnb MCP 服务器与Praison AI 代理结合通过Streamlit 页面帮助用户在指定位置查找公寓。要创建你的第一个基于 Praison AI 的 MCP 代理请先安装以下依赖项•pip install praisonaiagents mcp streamlit•将你的 OpenAI API 密钥导出为环境变量export OPENAI_API_KEYsk-proj-qZIGbi....新建一个 Python 文件例如streamlit_praison_airbnb_mcp_agent.py然后将以下代码填入该文件中。importstreamlitasstfrom praisonaiagents importAgent,MCP st.title( Airbnb Booking Assistant)# 创建代理MCP 工具通过 npx 启动 Airbnb 服务st.cache_resourcedef get_agent():returnAgent( instructionsYou help book apartments on Airbnb., llmgpt-4o-mini,# 使用 GPT-4o-mini 模型 toolsMCP(npx -y openbnb/mcp-server-airbnb --ignore-robots-txt))# 初始化聊天记录ifmessagesnotin st.session_state: st.session_state.messages []# 显示聊天记录for message in st.session_state.messages:with st.chat_message(message[role]): st.markdown(message[content])# 用户输入表单with st.form(booking_form): st.subheader(请输入您的预订信息)destinationst.text_input(目的地,巴黎)col1,col2st.columns(2)withcol1:check_inst.date_input(入住日期)withcol2:check_outst.date_input(退房日期)adultsst.number_input(成人人数,min_value1,max_value10,value2)submittedst.form_submit_button(搜索住宿)ifsubmitted:search_agentget_agent()# 构建查询内容 query fI want to book an apartment in {destination} from {check_in.strftime(%m/%d/%Y)} to {check_out.strftime(%m/%d/%Y)} for {adults} adults# 添加用户输入到聊天记录 st.session_state.messages.append({role:user,content: query})# 显示用户输入with st.chat_message(user): st.markdown(query)# 获取代理响应with st.chat_message(assistant):with st.spinner(正在查找住宿信息...): response search_agent.start(query) st.markdown(response)# 添加助手响应到聊天记录 st.session_state.messages.append({role:assistant,content: response})# 跟进问题输入if st.session_state.messages: prompt st.chat_input(对住宿还有其他问题可以继续提问)if prompt: search_agent get_agent()# 添加用户输入到聊天记录 st.session_state.messages.append({role:user,content: prompt})# 显示用户输入with st.chat_message(user): st.markdown(prompt)# 获取代理响应with st.chat_message(assistant):with st.spinner(思考中...): response search_agent.start(prompt) st.markdown(response)# 添加助手响应到聊天记录 st.session_state.messages.append({role:assistant,content: response})运行上述示例代码后系统将调用所需的Airbnb MCP 工具帮助你在指定位置查找可用的公寓实际效果如下所示你可能已经注意到我们只用一行代码就为代理添加了 MCP 支持tools MCP(npx -y openbnb/mcp-server-airbnb --ignore-robots-txt)其中npx表示运行 MCP 服务器所需执行的命令-y是传递给该命令的命令行参数--ignore-robots-txt是传递给工具的选项之一用于跳过 robots.txt 限制。想了解更多关于 MCP 服务器配置和调用方式请参考 OpenAI Agents SDK 文档中的 MCP Servers[27] 部分。3. 在 LangChain AI 应用中使用 MCPLangChain已支持通过工具调用Tool Calling方式接入MCP这项支持允许你通过 Python 函数配置连接不同的 MCP 服务器并检索工具用于在 AI 项目中执行各类任务下方示例代码展示了如何连接到一个安全的 MCP 文件系统服务器使得大型语言模型LLM能够准确回答关于你提供的任意文件的问题。# Copyright (C) 2024 Andrew Wason# SPDX-License-Identifier: MITimportasyncioimport pathlibimport sysimport typingastfromlangchain_core.messages importAIMessage,BaseMessage,HumanMessagefrom langchain_core.output_parsers importStrOutputParserfrom langchain_core.tools importBaseToolfrom langchain_groq importChatGroqfrom mcp importClientSession,StdioServerParametersfrom mcp.client.stdioimportstdio_clientfromlangchain_mcp importMCPToolkit# 主推理执行函数运行模型与工具交互async def run(tools: list[BaseTool], prompt: str)- str: model ChatGroq(model_namellama-3.1-8b-instant, stop_sequencesNone)# 需设置 GROQ_API_KEY tools_map {tool.name: tool for tool in tools} tools_model model.bind_tools(tools) messages: list[BaseMessage][HumanMessage(prompt)] ai_message t.cast(AIMessage, await tools_model.ainvoke(messages)) messages.append(ai_message)# 执行工具调用for tool_call in ai_message.tool_calls: selected_tool tools_map[tool_call[name].lower()] tool_msg await selected_tool.ainvoke(tool_call) messages.append(tool_msg)returnawait(tools_model|StrOutputParser()).ainvoke(messages)# 主程序入口async def main(prompt: str)-None:# 配置 MCP 文件系统工具通过 npx 启动 server_params StdioServerParameters( commandnpx, args[-y,modelcontextprotocol/server-filesystem, str(pathlib.Path(__file__).parent.parent)],)asyncwithstdio_client(server_params)as(read,write):asyncwithClientSession(read,write)assession:toolkitMCPToolkit(sessionsession)awaittoolkit.initialize()responseawaitrun(toolkit.get_tools(),prompt)print(response)# 默认命令读取并总结 README.md 文件if __name__ __main__: prompt sys.argv[1]if len(sys.argv)1elseRead and summarize the file ./readme.md asyncio.run(main(prompt))在运行上述 Python 脚本之前请确保已安装以下依赖项pip install langchain-core langchain-groq langchain-mcp上述 MCP 配置使用的是 npx 类型的服务器因此你需要全局安装 MCP 文件系统工具包。npm install-g modelcontextprotocol/server-filesystem当你安装完所有依赖项并将一个文件如 ./readme.md放入项目中并在脚本中引用它如示例所示prompt Read and summarize the file ./readme.md然后运行该脚本你将看到类似于下图所示的输出效果注意本示例代码摘自 LangChain 的 GitHub 仓库[28]。4. 在 Chainlit AI 应用中使用 MCPChainlit是一个用于构建 Python AI 应用的平台。它原生支持 MCP 服务器你可以在应用中配置 MCP 工具发现机制并将工具调用集成到应用的执行流程中从而提升任务处理效果。Chainlit 支持通过服务器发送事件SSE或命令行stdio方式连接 MCP 服务。在下方示例中我们将一个 Chainlit 应用连接到Linear MCP 服务器以便实现对 Linear 中问题issues、项目projects和团队teams的管理。你可以使用该示例中的 Linear 工具 创建问题更新问题搜索问题获取用户的所有问题为问题添加评论。⚙️ 配置 Chainlit 应用以连接 MCP 服务器将 Chainlit 应用连接至 MCP 工具服务器。1.注册 MCP 连接 你需要实现 Chainlit 的异步钩子函数on_mcp_connect 用于在应用启动时建立 MCP 连接。你也可以通过on_mcp_disconnect函数安全清理资源。# pip install chainlitimportchainlitasclfrom mcp importClientSessioncl.on_mcp_connectasyncdefon_mcp_connect(connection,session:ClientSession):Called when an MCP connection is established# Your connection initialization code here# This handler is required for MCP to workcl.on_mcp_disconnectasyncdefon_mcp_disconnect(name:str,session:ClientSession):Called when an MCP connection is terminated# Optional handler: Cleanup your code here2.配置 MCP 客户端适用于 Chainlit、LangChain、Mastra:为了使 MCP 服务器能够与 Chainlit 应用配合使用客户端应通过 Chainlit 的用户界面UI提供连接详情。该配置包括以下内容。•连接名称一个唯一标识符用于表示该连接的名称。•客户端类型你需要指定使用哪种客户端类型支持以下两种sse服务器发送事件Server-Sent Events此时需要填写一个 URL 端点stdio标准输入/输出方式此时需要填写一个完整的命令如npx your-tool-package或uvx your-tool-package。例如以下是一个使用 stdio 类型的完整命令npx -y linear-mcp-server --toolsall --api-keylin_api_your_linear_API_Key当成功建立 MCP 服务器连接后你可以通过 MCP 会话Session执行所需工具。最终你可以将 MCP 工具无缝集成到 Chainlit 应用中的模型或代理中通过工具调用Tool Call完成任务执行。你可以在 Chainlit 官方 GitHub[29] 示例项目 中找到完整的 Linear MCP 集成源代码。当你从 GitHub 获取上述源代码后运行应用并在 Chainlit 的界面中输入以下 MCP 启动命令npx -y linear-mcp-server --toolsall --api-keylin_api_your_linear_API_Key你就可以在界面中创建或更新 Linear 的 问题Issues 和 项目Projects。5. 为 Agno AI 代理集成 MCPAgno是一个用于构建复杂代理工作流的 Python 框架。它因其简单、易用以及与 MCP 服务器的无缝集成而广受欢迎。本节中的 MCP 实现示例与一个包含四个独立代理的多智能体团队集成这些代理包括 Airbnb、Google Maps、网页搜索和天气 MCP 代理。Agno 的多代理协同工作提供指定位置的旅行相关信息。 前置条件要测试本节中的 Agno MCP 实现示例请确保完成以下准备工作1.安装 Agno、DuckDuckGo 和 Exapip install -U openai agno duckduckgo-search exa-py。2.获取一个 GOOGLE_MAPS_API_KEY[30] 并将其添加到项目的.env文件中。3.获取一个 APIFY_TOKEN[31] 并将其添加到.env文件中。4.验证 Google 地址 API[32] 的可用性。配置 Agno MCP 多代理团队在此步骤中你应当定义 MCP 服务器参数并使用AsyncExitStack管理多个上下文管理器。然后创建代理并运行它们。# Define server parameters airbnb_server_params StdioServerParameters( commandnpx, args[-y,openbnb/mcp-server-airbnb,--ignore-robots-txt], envenv,)maps_server_paramsStdioServerParameters(commandnpx,args[-y,modelcontextprotocol/server-google-maps],envenv)# Use contextlib.AsyncExitStack to manage multiple async context managers async with contextlib.AsyncExitStack()as stack:# Create stdio clients for each server airbnb_client, _ await stack.enter_async_context(stdio_client(airbnb_server_params)) maps_client, _ await stack.enter_async_context(stdio_client(maps_server_params))# Create all agents airbnb_agent Agent( nameAirbnb, roleAirbnb Agent, modelOpenAIChat(gpt-4o), tools[airbnb_client], instructionsdedent(\You are an agent that can find Airbnb listings for a given location.\), add_datetime_to_instructionsTrue,)从 Agno 的 GitHub 仓库获取完整的源代码[33]。安装所需的依赖包完成上述所有配置并运行完整的 GitHub 示例代码后你将看到类似如下预览的输出结果。6. 在 Upsonic 代理中使用 MCPUpsonic[34]是一个用于创建 AI 代理的 Python 框架。使用 Upsonic你可以构建自己的代理、为代理定义任务并通过 MCP 工具[35]来处理每一个任务定义如下方示例代码所示。importosfrom dotenvimportload_dotenvfrom upsonic importTask,Agent,Directfrom upsonic.client.tools importSearch# Adding Search as a fallback tool# Load environment variables from .env fileload_dotenv()# Get the OpenAI API key from environment variablesopenai_api_key os.getenv(OPENAI_API_KEY)ifnot openai_api_key:raiseValueError(OPENAI_API_KEY not found in .env file)# Set your OpenAI API key for the sessionos.environ[OPENAI_API_KEY] openai_api_key# Define the HackerNews MCP tool# Using the correct MCP setup for HackerNews based on Upsonic documentationclassHackerNewsMCP: command uvx args [mcp-hn]# No environment variables are needed for this MCP# Create a task to analyze the latest HackerNews stories# Adding Search as a fallback in case HackerNews MCP failstask Task(Analyze the top 5 HackerNews stories for today. Provide a brief summary of each story, identify any common themes or trends, and highlight which stories might be most relevant for someone interested in AI and software development., tools[HackerNewsMCP,Search]# Include both HackerNews MCP and Search tools)# Create an agent specialized in tech news analysisagent Agent(Tech News Analyst, company_urlhttps://news.ycombinator.com/, company_objectiveTo provide insightful analysis of tech industry news and trends)# Execute the task with the agent and print the resultsprint(Analyzing HackerNews stories...)agent.print_do(task)# Alternatively, you can use a Direct LLM call if the task is straightforward# print(Direct analysis of HackerNews stories...)# Direct.print_do(task)# If you want to access the response programmatically:# agent.do(task)# result task.response# print(result)在上述示例中我们在 Upsonic 中创建了一个 AI 代理用于获取 Hackernews 上最近发布的前五条新闻。如果你使用以下命令安装 Upsonic 并运行上面的 Python 代码pip install upsonic你应该会看到类似下图的输出结果。7. 在 Mastra 代理中使用 MCPMastra[36]是一个基于 TypeScript 的框架用于构建原型和可投入生产环境的 AI 代理。与 Chainlit 类似Mastra 提供了一种标准化的方式通过stdio或sse连接接入 MCP 服务器以访问各种工具。要将你的 Mastra 代理连接到 MCP 服务器你需要使用框架提供的MCPConfiguration类。该类可以在任意 Mastra 的智能体工作流中处理多个服务器连接包括生命周期管理、命名空间namespacing以及工具管理等。1.创建MCPConfiguration类的一个实例并添加服务器配置2.使用getTools()或getToolsets()方法获取 MCP 工具。下方示例代码展示了如何在 Mastra 代理中基本实现 MCP 服务器连接。import{MCPConfiguration}frommastra/mcp;import{Agent}frommastra/core/agent;import{openai}fromai-sdk/openai;const mcpnewMCPConfiguration({servers:{stockPrice:{command:npx,args:[tsx,stock-price.ts],env:{API_KEY:your-api-key,},},weather:{url:new URL(http://localhost:8080/sse),},},});//Create an agentwithaccess toalltoolsconst agentnewAgent({name:Multi-tool Agent,instructions:You have access to multiple tool servers.,model:openai(gpt-4),tools:awaitmcp.getTools(),});面向 LLM 应用与代理的 MCP挑战与未来展望本教程介绍了 MCP并解释了它为何在开发者社区中迅速流行。我们还重点展示了 MCP 与诸如 Cursor 和 Windsurf 等 IDE 的集成情况。除了上述内容我们还在七个不同的 Python 与 TypeScript 框架中实现了 MCP用于构建基于 LLM 的应用、AI 助手以及智能代理。目前MCP 生态系统正在围绕多个关键方面展开标准化讨论。未来可能会出现一种标准化方式来安装 MCP 应用 就像我们现在在 Python 中使用pip install安装包一样。同时PulseMCP也正在努力尝试让 MCP 工具的浏览与发现过程变得更加便捷。最后为什么要学AI大模型当下⼈⼯智能市场迎来了爆发期并逐渐进⼊以⼈⼯通⽤智能AGI为主导的新时代。企业纷纷官宣“ AI ”战略为新兴技术⼈才创造丰富的就业机会⼈才缺⼝将达 400 万DeepSeek问世以来生成式AI和大模型技术爆发式增长让很多岗位重新成了炙手可热的新星岗位薪资远超很多后端岗位在程序员中稳居前列。与此同时AI与各行各业深度融合飞速发展成为炙手可热的新风口企业非常需要了解AI、懂AI、会用AI的员工纷纷开出高薪招聘AI大模型相关岗位。最近很多程序员朋友都已经学习或者准备学习 AI 大模型后台也经常会有小伙伴咨询学习路线和学习资料我特别拜托北京清华大学学士和美国加州理工学院博士学位的鲁为民老师给大家这里给大家准备了一份涵盖了AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频全系列的学习资料这些学习资料不仅深入浅出而且非常实用让大家系统而高效地掌握AI大模型的各个知识点。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】AI大模型系统学习路线在面对AI大模型开发领域的复杂与深入精准学习显得尤为重要。一份系统的技术路线图不仅能够帮助开发者清晰地了解从入门到精通所需掌握的知识点还能提供一条高效、有序的学习路径。但知道是一回事做又是另一回事初学者最常遇到的问题主要是理论知识缺乏、资源和工具的限制、模型理解和调试的复杂性在这基础上找到高质量的学习资源不浪费时间、不走弯路又是重中之重。AI大模型入门到实战的视频教程项目包看视频学习是一种高效、直观、灵活且富有吸引力的学习方式可以更直观地展示过程能有效提升学习兴趣和理解力是现在获取知识的重要途径光学理论是没用的要学会跟着一起敲要动手实操才能将自己的所学运用到实际当中去这时候可以搞点实战案例来学习。海量AI大模型必读的经典书籍PDF阅读AI大模型经典书籍可以帮助读者提高技术水平开拓视野掌握核心技术提高解决问题的能力同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说阅读经典书籍是非常有必要的。600AI大模型报告实时更新这套包含640份报告的合集涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师还是对AI大模型感兴趣的爱好者这套报告合集都将为您提供宝贵的信息和启示。AI大模型面试真题答案解析我们学习AI大模型必然是想找到高薪的工作下面这些面试题都是总结当前最新、最热、最高频的面试题并且每道题都有详细的答案面试前刷完这套面试题资料小小offer不在话下这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
返回列表