一、 名称解析:

        MCP (Model Context Protocol)模型上下文协议

       二、名称及具体含义解析:

        由Anthropic公司在2024年底推出的开放标准,方便大模型于外界交互。比如:MySQL MCP Server。有了它之后,我们在AI IDE使用时,它就可以访问MySQL里的数据了。另外anthropic解析:anthrop:人,区别于神和动物。ic:形容词后缀,与...有关的。

       三、 Anthropic公司介绍:

        Anthropic成立于2021年,由前OpenAI副总裁,带了七个小伙伴出来成立的公司。该公司成立时间短,但是发展极其迅速。以下从时间的角度分析:

2021年05月 - 创始团队 (约10人)
2021年05月 - A轮融资 (1.24亿美元)

2022年04月 - B轮融资 (5.8亿美元)
2022年04月 - 早期扩张期 (约40-50人)

2023年02月 - C轮融资 (约3亿美元 + 战略合作)
2023年03月 - Claude 1
2023年03月 - Anthropic API (早期测试版)
2023年03月 - 产品发布前夕 (约80-100人)
2023年07月 - Claude 2
2023年07月 - Claude.ai (网页版公测)
2023年09月 - D轮融资 (约40亿美元 + 战略合作)
2023年11月 - Claude 2.1
2023年03月 - 产品发布前夕 (约80-100人)

2024年03月 - Claude 3 Haiku
2024年03月 - Claude 3 Sonnet
2024年03月 - Claude 3 Opus
2024年05月 - Claude for iOS (移动App)
2024年05月 - E轮融资 (约6.5亿美元)
2024年06月 - 规模化扩张 (约500人)
2024年07月 - Claude 3.5 Sonnet
2024年08月 - Claude for Android (移动App)
2024年09月 - F轮融资 (约130亿美元)
2024年10月 - Claude 3.5 Haiku
2024年12月 - 千人俱乐部 (约1,100人)

2025年02月 - Claude Code (命令行编程助手)
2025年03月 - Claude 3.7 Sonnet
2025年03月 - G轮第一阶段融资 (约35亿美元)
2025年05月 - Claude 4 Sonnet
2025年05月 - Claude 4 Opus
2025年06月 - Claude Desktop (桌面端应用)
2025年06月 - 高速膨胀期 (约1,800人)
2025年09月 - Claude Sonnet 4.5
2025年09月 - H轮融资 (约100亿美元)
2025年11月 - Claude Opus 4.5
2025年12月 - 两千人规模 (约2,300人)

2026年02月 - I轮融资 (300亿美元)
2026年03月 - 当前规模 (约2,600+人)

截止目前总投资金额:360亿美元。主要投资公司:Amazon, Google, Salesforce。跑题过于严重,但谁在乎呢?

        四、工作原理

        原理很简单:C/S(Client/Server)模式,并通过JSON-RPC 2.0通信,stdiostandard input-output)标准输入输出,这种方式是默认的MCP通信方式就是说AI IDE 客户端,与另外一个进程间的通信,而不是通过TCP,这下明白了吧,but,也可以改成HTTP(TCP)通信,就这样。关键的方法有如下:Initialize(初始化:客户端告诉服务器自己的协议版本和支持的功能。tools/list(可用工具列表)、tools/calld(调用工具,执行具体动作),另外还有资源、提示词和日志相关的方法。接下来是一个具体例子:查询一个表的总记录数。

        首先,执行初始化动作:

Request:

{
  "method": "initialize"
}

Response:

{
  "capabilities": {
    "tools": {}
  },
  "serverInfo": {
    "name": "mysql-server",
    "version": "1.0.0"
  }
}

        其次、执行工具列表方法

Request:

{
  "method": "tools/list",
  "params": {}
}

Response:

{
  "tools": [
    {
      "name": "connect_db",
      "description": "Connect to MySQL database",
      "inputSchema": {
        "type": "object",
        "properties": {
          "host": {
            "type": "string",
            "description": "Database host"
          },
          "user": {
            "type": "string",
            "description": "Database user"
          },
          "password": {
            "type": "string",
            "description": "Database password"
          },
          "database": {
            "type": "string",
            "description": "Database name"
          }
        },
        "required": [
          "host",
          "user",
          "password",
          "database"
        ]
      }
    },
    {
      "name": "query",
      "description": "Execute a SELECT query",
      "inputSchema": {
        "type": "object",
        "properties": {
          "sql": {
            "type": "string",
            "description": "SQL SELECT query"
          },
          "params": {
            "type": "array",
            "items": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "description": "Query parameters (optional)"
          }
        },
        "required": [
          "sql"
        ]
      }
    },
    {
      "name": "execute",
      "description": "Execute an INSERT, UPDATE, or DELETE query",
      "inputSchema": {
        "type": "object",
        "properties": {
          "sql": {
            "type": "string",
            "description": "SQL query (INSERT, UPDATE, DELETE)"
          },
          "params": {
            "type": "array",
            "items": {
              "type": [
                "string",
                "number",
                "boolean",
                "null"
              ]
            },
            "description": "Query parameters (optional)"
          }
        },
        "required": [
          "sql"
        ]
      }
    },
    {
      "name": "list_tables",
      "description": "List all tables in the database",
      "inputSchema": {
        "type": "object",
        "properties": {},
        "required": []
      }
    },
    {
      "name": "describe_table",
      "description": "Get table structure",
      "inputSchema": {
        "type": "object",
        "properties": {
          "table": {
            "type": "string",
            "description": "Table name"
          }
        },
        "required": [
          "table"
        ]
      }
    }
  ]
}

最后,执行调用工具方法:

Request:

{
  "method": "tools/call",
  "params": {
    "name": "query",
    "arguments": {
      "sql": "SELECT COUNT(*) as total FROM yb_register"
    },
    "_meta": {
      "progressToken": 1
    }
  }
}

Response:

{
  "content": [
    {
      "type": "text",
      "text": "[\n  {\n    \"total\": 468\n  }\n]"
    }
  ]
}

        五、常见MCP

        1.Puppeteer浏览器自动化控制

        2.GitHub基于 GitHub API 管理仓库、Issue、PR

        3.Figma AI BridgeFigma 设计数据提取与分析

        4.Playwright高级浏览器自动化 + 测试代码生成

        5.Memory本地知识图谱持久化记忆(跨会话保留用户上下文信息)

        6.Excel(读取/写入 Excel 文件)

        7.File System(文件系统文件读取)

        8.Chrome DevTools MCP(控制 Chrome 浏览器)

        还等什么?赶紧动起来。Have a nice day!

        

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐