第三方 MCP 服务器

Model Context Protocol (MCP) 入门

James Chapman

AI Curriculum Manager, DataCamp

为何使用第三方 MCP 服务器?

 

  • 速度:无需编写服务器即可访问文件系统和数据库

mcp-archive.png

Model Context Protocol (MCP) 入门

为何使用第三方 MCP 服务器?

 

  • 速度:无需编写服务器即可访问文件系统和数据库
  • 他人维护:您可专注于客户端与应用
  • 集成:客户端代码可在不同 MCP 服务器间共享复用

snowflake-mcp.png

1 https://www.snowflake.com/en/developers/guides/getting-started-with-snowflake-mcp-server/
Model Context Protocol (MCP) 入门

使用第三方服务器前的注意事项

 

  • 信任:服务器会运行代码并可能调用外部 API → 请核查其来源
  • 安全:需谨慎管理私密数据与凭据
  • 表面面积:更多工具=LLM 能做更多;了解各服务器暴露的能力

considerations.png

Model Context Protocol (MCP) 入门

Open Library MCP

open-library.png

 

  • mcp-open-library:Internet Archive Open Library API 的 MCP 服务器
  • 工具get_book_by_titleget_authors_by_nameget_book_coverget_book_by_id
  • 无需 API 密钥
1 https://github.com/8enSmith/mcp-open-library
Model Context Protocol (MCP) 入门

访问 Open Library MCP

from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

params = StdioServerParameters(
    command="open-library-server",
    args=[]
)
1 https://github.com/8enSmith/mcp-open-library?tab=readme-ov-file#installation
Model Context Protocol (MCP) 入门

使用 Open Library MCP

params = StdioServerParameters(command="open-library-server", args=[])


async with stdio_client(params) as (reader, writer): async with ClientSession(reader, writer) as session: await session.initialize()
response = await session.list_tools() print("Tools:", [t.name for t in response.tools]) result = await session.call_tool("get_book_by_title", {"title": "Dune"}) text = result.content[0].text print("Tool Call Result:", text)
Model Context Protocol (MCP) 入门
Tools: ['get_book_by_title', 'get_authors_by_name', 'get_author_info',
'get_author_photo', 'get_book_cover', 'get_book_by_id']

Tool Call Result: [ { "title": "Dune", "authors": [ "Frank Herbert" ], "first_publish_year": 1965, ... }, ...
Model Context Protocol (MCP) 入门

让我们来练习!

Model Context Protocol (MCP) 入门

Preparing Video For Download...