项目简介
'mcp-contentstack' 仓库提供了一组基于 Model Context Protocol (MCP) 实现的工具服务器示例。这些服务器旨在让大型语言模型(如通过 AWS Bedrock 访问的 Claude)能够通过标准的 MCP 接口调用外部功能,特别是与 Contentstack 的 Knowledge Vault 进行交互。仓库中同时包含了一个示例 MCP 客户端,用于演示如何连接并使用这些工具服务器。
主要功能点
本项目中的 MCP 服务器(例如 'brand-kit/knowledge-vault/crud.py')提供了以下功能,供连接的 MCP 客户端调用:
- Contentstack Knowledge Vault 内容管理:
- 添加新的知识库内容。
- 更新现有知识库内容。
- 删除知识库内容。
- 搜索知识库内容。
- 模拟数据访问:
- 提供一个简单的工具,返回预设的 LinkedIn 文本数据(示例功能)。
安装步骤
- 克隆仓库:
git clone https://github.com/viveksingh-ctrl/mcp-contentstack.git cd mcp-contentstack - 设置Python环境并安装依赖:
# 推荐使用 uv 或 venv 创建虚拟环境 curl -LsSf https://astral.sh/uv/install.sh | sh # 安装 uv uv venv .venv source .venv/bin/activate # Linux/macOS # .venv\Scripts\activate # Windows # 安装所需的库 uv pip install -r requirements.txt - 配置 Contentstack API 凭据和信息:
在项目根目录下创建 '.env' 文件,并填入以下信息(请替换为您的实际凭据和UID):
AWS_ACCESS_KEY_ID=your-access-key AWS_SECRET_ACCESS_KEY=your-secret-key AWS_REGION=us-east-1 # 您的AWS区域 AUTHTOKEN=bltsomething # Contentstack Auth Token BRAND_KIT_UID=cssomething # Contentstack Brand Kit UID
服务器配置(供 MCP 客户端使用)
MCP 服务器通常由 MCP 客户端负责启动和管理连接(例如通过 Stdio)。对于本项目中的服务器脚本(如 'brand-kit/knowledge-vault/crud.py' 或 'automate/linkedin.py'),MCP 客户端连接它们时,需要知道如何启动它们。典型的配置会指定:
- 服务器名称 (name): 用于在客户端内部标识这个服务器(例如 "BrandKit" 或 "Automate")。
- 传输协议 (transport): 通常是 'stdio'。
- 启动命令 (command): 运行服务器脚本的命令,例如 'python'。
- 启动参数 (args): 传递给命令的参数,即服务器脚本的文件路径,例如 './brand-kit/knowledge-vault/crud.py'。
客户端会使用这些信息来启动服务器进程并通过标准输入/输出来建立 MCP 连接。
基本使用方法
本项目包含一个示例客户端 ('formatted_mcp_client.py'),您可以运行它来连接其中一个服务器并与 Claude 进行交互,让 Claude 调用工具:
- 确保您的 '.env' 文件已正确配置 且您处于激活的Python虚拟环境中。
- 运行客户端并指定要连接的服务器脚本:
# 连接 Contentstack Knowledge Vault 服务器 python formatted_mcp_client.py ./brand-kit/knowledge-vault/crud.py # 连接模拟 LinkedIn 数据服务器 # python formatted_mcp_client.py ./automate/linkedin.py - 客户端将启动服务器,连接到 Bedrock 中的 Claude 模型,并显示可用工具。
- 在命令行提示符下输入您的问题。如果问题需要调用工具(例如关于 Contentstack Knowledge Vault 的操作请求),Claude 可能会指示客户端调用相应的工具,并将工具结果返回给 Claude 处理,最终给出结合了工具结果的回复。
- 输入 'quit' 退出客户端。
信息
分类
AI与计算