咱们直接开始创建一个模型上下文协议(MCP)服务器。我们将构建一个能获取股票行情的服务器,由于Claude本身无法生成图像,我们将使用Truepix AI来增强这个功能。到那时,你就会有一个简单的MCP服务器,它将你的AI与实际工具连接起来——比如股票行情和图像生成——只需要几个简单的步骤。
MCP 简单来说就是啥?就像 AI 的通用接口一样.MCP 好像是一种适用于 AI 的万能插头。想象一下,在 USB-C 出现之前,使用不兼容的充电器是多么令人沮丧。MCP 解决了一个类似的问题,就像 USB-C 解决了不兼容充电器的问题一样。MCP 为 AI 客户端(如 Claude、Cursor 或其他)连接到各种工具和数据来源提供了一个 标准方法。你可以把它看作是一个标准化的端口,让你的 AI 能够轻松地访问实时股票价格、你的邮箱,甚至复杂的 API,而无需复杂的、一次性的配置。
想象一下给你的AI一把瑞士军刀。有了MCP,它获得了一套工具:它可以搜集信息、生成图像、与各种服务交互,甚至可以自动化任务,同时在你的基础设施内确保数据访问的安全。这让AI真的变得强大且多才多艺。
简短总结:MCP 将 AI 和服务连接起来,简化整合,并保护数据安全。
我们正在建设的
我们正在做的是
- 一个服务器用于:
(以下内容省略,根据原文的冒号推测,此处应有更详细的描述。)
- 查看实时股票价格(例如,苹果公司的“AAPL”代码)。
- 用Truepix AI把文字变成图片。
- 然后,我们将它链接到Claude桌面版,这样你的AI就可以使用这些工具了。
第一步:准备好您的工具
我们将使用_uv_来管理我们的Python项目。下面是开始的方法:
MacOS(macOS)/Linux(Linux操作系统)
运行此命令以安装astral.sh提供的uv工具:
curl -LsSf https://astral.sh/uv/install.sh | sh
Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
这是一条PowerShell命令,用来从astral.sh网站下载并安装一个脚本。请注意,irm
和 iex
分别是PowerShell中的 Invoke-RestMethod
和 Invoke-Expression
的别名。并且,从不信任的网站下载并执行脚本可能会带来安全风险,一定要小心。
接下来,来设置你的项目吧。
首先,运行 `uv init server` 初始化服务器环境
接着,使用 `cd server` 切换到服务器目录
然后,运行 `uv venv` 创建虚拟环境
执行 `source .venv/bin/activate` 激活虚拟环境 (Windows系统下使用:.venv\Scripts\activate)
运行 `uv add "mcp[cli]" httpx aiohttp yfinance asyncio` 安装并添加如下库:
在Linux或Mac系统下,使用 `touch server.py` 创建一个名为server.py的新文件;在Windows系统下,可以使用 `New-Item server.py`
这安装了我们需要的所有东西,包括MCP、股票库和API库。
步骤二:编写MCP服务器端
创建一个名为 server.py 的文件,并在这个文件中添加以下代码。它分别定义了两个功能,一个用于获取股票价格信息,一个用于处理图片。
服务器端代码文件:server.py
import yfinance as yf
from mcp.server.fastmcp import FastMCP
import asyncio
import aiohttp
mcp = FastMCP("stock_prices")
@mcp.tool()
async def get_stock_price(ticker: str) -> str:
"""
获取给定股票代码(如 AAPL)的当前价格。
"""
try:
stock = yf.Ticker(ticker)
info = stock.info
price = info.get('currentPrice') or info.get('regularMarketPrice')
if not price:
return f"没有找到 {ticker} 的价格"
return f"${price:.2f}"
except Exception as e:
return f"错误: {str(e)}"
@mcp.tool()
async def generate_t2i_image(prompt: str) -> str:
"""
使用 Truepix AI 根据文本提示生成图像。
"""
api_url = "https://api.truepix.ai" # 即将推出
headers = {"Authorization": "Bearer YOUR_API_KEY"}
payload = {"prompt": prompt}
try:
async with aiohttp.ClientSession() as session:
# 开始生成图片
async with session.post(api_url, json=payload, headers=headers) as response:
if response.status != 200:
return f"错误: {response.status}"
data = await response.json()
task_id = data.get("task_id")
if not task_id:
return "错误: 未找到任务 ID"
# 每 10 秒检查一次进度
while True:
poll_url = f"https://api.truepix.ai" # 即将推出
async with session.get(poll_url, headers=headers) as poll_response:
if poll_response.status != 200:
return f"错误: {poll_response.status}"
result = await poll_response.json()
if result.get("status") == "success":
return result.get("result_url", "错误: 未找到 URL")
await asyncio.sleep(10)
except Exception as e:
return f"错误: {str(e)}"
if __name__ == "__main__":
mcp.run(transport='stdio')
提示:此代码从Yahoo Finance获取股市数据。
步骤三:连接到 Claude 桌面
Claude for Desktop 让您的 AI 可以用这台服务器。下面是具体操作方法:
- 安装Claude桌面版:在这里下载https://www.anthropic.com/claude-desktop。
- 编辑配置:要修改Claude的配置,需要编辑claude_desktop_config.json文件。请按照以下步骤操作:
打开 Claude Desktop。
点击 设置。
点击 开发者模式。
点击 编辑配置 — 这将打开claude_desktop_config.json文件,您可以在您喜欢的代码编辑器中编辑它。 - 添加服务器:
{
"mcpServers": {
"server": {
"command": "/full/path/to/uv", # 请替换为你的 'uv' 可执行文件的完整路径
"args": [
"--directory",
"/full/path/to/server",# 请替换为你的 'server' 项目目录的完整路径
"run",
"server.py"
]
}
}
}
找到 uv 路径的方法: 若要找到你的 uv 可执行文件的完整路径,请打开终端,然后运行 which uv
(macOS/Linux),或 where uv
(Windows)。复制输出的内容,并在 JSON 配置文件中的 /full/path/to/uv
位置替换为该路径。
设置项目路径为: 将 /full/path/to/server 替换为你创建 server.py 的服务器目录的实际路径。使用绝对路径确保从任何位置启动 Claude Desktop 都能正确找到并运行你的 MCP 服务,这一点非常重要。
- 重启Claude Desktop: 保存配置文件并关闭后再重新启动Claude Desktop使更改生效。
配置完成后,重启 Claude Desktop,现在应该能够识别您的 MCP 服务器及其提供的工具了。现在您可以与 Claude 交互,并要求它使用这些工具完成任务!试试以下提示语:
AAPL现在的股价是多少?
结果是如果一切设置正确,你应该会在界面上看到一个锤子图标,表明有可以使用的工具。
生成图像用的工具:
这一切是怎么联系起来的
- Claude (MCP 客户端/主机): Claude 担任智能大脑的角色,配备了 MCP 客户端。它希望通过利用外部工具来扩展自身的能力。
- MCP 服务器 (server.py): 这是一个工具提供者(MCP 服务器),它通过 MCP 协议提供诸如获取股票价格和生成图像等服务。
- MCP 协议: 这是标准化的语言和规则集,允许 Claude 使用 MCP 客户端与您的 MCP 服务器通信。它是实现流畅互动的“桥梁”,连接了 Claude 和您的 MCP 服务器。
您的 Client 发出一个请求(例如,'获取AAPL价格'),服务器 处理后返回“$174.50”。简单快捷。
完整文档:https://modelcontextprotocol.io/quickstart/server
关于MCP的常见问题解答
- 模型上下文协议(MCP)究竟是什么?
MCP 是一个开放式协议,定义了 AI 模型如何与外部工具、资源和提示以一致且安全的方式进行交互。它的设计目的是简化将 AI 代理连接到现实世界数据和功能的过程,使其更加实用和灵活。可以将其视为为 AI 代理创建一个标准化的“API”。 - MCP 是否仅适用于 Claude,还是也可以与其他 AI 模型一起使用?
MCP 被设计为一个开放式协议,这意味着它不绑定于任何特定的 AI 模型或提供者。虽然本教程以 Claude Desktop 为例说明,但 MCP 的目标是与各种 AI 模型和平台兼容。像 MCP 这样的标准的好处是它促进了整个 AI 生态系统的互操作性。任何实现了 MCP 客户端的 AI 模型或平台都可以潜在地连接到任何 MCP 服务器,无论提供者是谁。 - 利用 MCP 服务器我可以构建哪些类型的东西?
可能性几乎是无穷无尽的!如果某项任务可以自动化或数据可以通过编程访问,那么它很可能可以作为 MCP 工具被暴露。例如: - 数据检索: 连接到数据库、电子表格、CRM 系统或任何数据源以向 AI 提供信息。
- 应用程序集成: 允许 AI 与电子邮件客户端、日历、任务管理器、社交媒体、电子商务平台等应用程序进行交互。
- 智能家居控制: 使 AI 能够控制智能设备、调整照明、温度、安防系统等。
- 内容生成与编辑: 使用 API 生成或编辑文本、图像、音频、视频等现有数字内容。
- 工作流程自动化: 构建复杂的流程,让 AI 在多个工具和服务之间协调操作。
关于Truepix AI
Truepix AI 不仅帮助你生成令人惊艳的图像和视频,还让你拥有这些创作的所有权。Truepix AI 是一个出色的平台,适合将内容生成能力集成到各种 AI 项目中,提供强大的功能并让你掌控创意资产。
共同學習,寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章