1.任务目标

智能体需要标准化且安全的“手”来执行实际任务。学习:JSON-RPC、严格的 Pydantic 规范、MCP 服务器/客户端架构、以及动态工具调用方式。

2.任务目的

企业环境有他的特殊性,很多现有的API封装方案很难落地;我们需要自己来编写控制相关API接口

3. 原生 MCP Server

  • JSON-RPC 2.0 over stdio

  • 严格使用 Pydantic 做请求/参数校验

  • 对接本地 PostgreSQL

  • 内置身份认证(Token)+ 细粒度权限控制(角色 → 工具 + 表级读写)

  • 动态工具发现(tools/list)与调用(tools/call)

  • 兼容主流客户端的 initialize 握手流程(Claude Desktop / Cursor 等仍广泛使用)

3.1 环境准备

# 依赖(仅标准库 + 必要第三方,无 MCP SDK)
pip install pydantic psycopg2-binary python-dotenv

# 本地 Postgres 示例(Docker)
docker run -d --name mcp-pg \
  -e POSTGRES_PASSWORD=secret \
  -e POSTGRES_DB=mcpdemo \
  -p 5432:5432 \
  postgres:16

创建数据库

CREATE TABLE customers (
  id SERIAL PRIMARY KEY,
  name TEXT NOT NULL,
  email TEXT,
  balance NUMERIC(12,2) DEFAULT 0
);

CREATE TABLE orders (
  id SERIAL PRIMARY KEY,
  customer_id INT REFERENCES customers(id),
  amount NUMERIC(12,2),
  status TEXT
);

INSERT INTO customers (name, email, balance) VALUES
  ('Alice', 'alice@example.com', 1000),
  ('Bob', 'bob@example.com', 500);

INSERT INTO orders (customer_id, amount, status) VALUES
  (1, 99.5, 'paid'),
  (2, 200, 'pending');