前文分享了skill相关编写和使用方法,有兴趣的可以点击下方链接查看。
今天分享的是MCP服务,那具体什么是MCP服务呢?
MCP是什么?
MCP是什么,其实最开始个人理解起来也是挺绕的,如果你也一样,可以看看下面的解释。
标准解释:
MCP(Model Context Protocol)是一种开放标准协议,目的就是为大模型提供标准化的外部工具和上下文集成方式。
大白话解释:
你可以将MCP服务理解成传统的API接口,使用MCP就像是在调用API接口。
MCP如何使用
如果你理解了MCP是什么,那我们就来看看它是如何使用的?谁调用它的?
MCP调用流程
既然都说了mcp可以理解成API接口服务,所以MCP的调用也非常简单,它的调用者你可以笼统的理解成agent自己,也可以理解成skill在调用都是没有问题的。
所以从这一点来看,你也可以进一步了解到skill和mcp本质的区别,skill是调用mcp服务的角色,而mcp都是服务端集成的特定的能力。
详细的流程如下图所示: 
MCP集成
不同ai工具集成方式有所不同,这里以Android Studio中用得较多的Lingma插件为例:
配置路径: 个人设置 -> MCP服务
点击进入MCP服务,在页面右上角点击"添加"按钮,选择你熟悉的配置模式进行配置即可,简单一点就选择手动添加:

点击手动添加会弹出配置页面,根据内容项目添加目标mcp服务相关信息即可。

最后添加完成后,可以随时在列表右侧进行mcp服务的启用或者关闭,还是非常方便的。

自定义MCP服务
除开一些公开免费的MCP服务外,我们也可以自己开发一套专属的MCP服务,目前也有一些框架支持快速开发,包括让AI给你写一套都是可以的。
下面简单介绍一下如何利用FastMCP框架快速开发你的专属MCP服务:
环境依赖
-
Python环境,如果没有请安装
-
安装FastMCP框架
pip install fastmcp
创建服务实例
ini
from fastmcp import FastMCP
mcp = FastMCP("服务名称")
定义工具(Tools)
使用 @mcp.tool() 装饰器将普通的 Python 函数转化为 MCP 工具。这是开发中最关键的一步:
- 函数名:
AI调用的工具名
- 类型注解:
函数参数的类型声明以及返回声明,有利于AI以明确形式输入和返回数据。
- 文档描述:
这个比较关键,AI会根据你的描述内容来理解这个工具的用途以及什么时候调用,当然如果你知道方法名,明确ai调用某一个方法的情况另当别论。
暴露接口
在脚本末尾使用run方法自动处理所有协议细节(如STDIO传输),使服务能够被AI客户端唤起。
ini
if __name__ == "__main__":
mcp.run()
完整实例
以下是一个支持AI Agent打开浏览器获取指定网址网页内容的工具代码:
python
import asyncio
from fastmcp import FastMCP
from playwright.async_api import async_playwright
# Create an MCP server
mcp = FastMCP("WebCrawler")
@mcp.tool()
async def fetch_url_content(url: str) -> str:
"""
Fetch the text content of a given URL using a headless browser.
Args:
url: The URL to fetch content from.
"""
async with async_playwright() as p:
# Launch browser
browser = await p.chromium.launch(headless=True)
context = await browser.new_context(
user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36"
)
page = await context.new_page()
try:
# Navigate to the URL
await page.goto(url, wait_until="networkidle", timeout=30000)
# Get the page content (text only for cleaner output)
content = await page.evaluate("() => document.body.innerText")
# Get the title
title = await page.title()
return f"Title: {title}\n\nContent:\n{content}"
except Exception as e:
return f"Error fetching {url}: {str(e)}"
finally:
await browser.close()
if __name__ == "__main__":
mcp.run()
服务使用
MCP服务工具编写好后,配置到你的AI MCP服务中即可正常使用,如果你用的是Lingma按照上述MCP集成流程集成即可。

然后你在agent模式下就可以正常使用了,比如我这里:

最后
你看其实mcp的开发和使用相对还是比较简单的,针对一些复杂的功能,我们大可以让ai帮我们写这个mcp服务,所以你懂不懂具体实现都不重要。
你们平时都用哪些MCP服务呢?
有哪些MCP服务提供平台呢?
欢迎留言、私信分享交流哟~