一个统一的 MCP(模型上下文协议)服务器,使Google 开发者专家 (GDE) 和微软 MVP能够通过 AI 驱动的对话界面报告他们的活动。
**告别枯燥的手动数据录入!**只需与 Claude 对话并自然提交您的活动——无论是 YouTube 视频、博客文章、会议演讲还是指导会话。
git clone https://github.com/carlosazaustre/advocu-mcp-server.git
cd advocu-mcp-server
npm install
npm run build
npm install -g advocu-mcp-server
编辑您的 Claude Desktop 配置文件:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"activity-reporting": {
"command": "node",
"args": ["/绝对路径到/advocu-mcp-server/dist/index.js"],
"env": {
"MVP_ACCESS_TOKEN": "您的_mvp_bearer_token",
"MVP_USER_PROFILE_ID": "您的_mvp_profile_id",
"ADVOCU_ACCESS_TOKEN": "您的_gde_token",
"DOCS_DIR": "/绝对路径到/advocu-mcp-server/docs"
}
}
}
}
📚 重要提示:
DOCS_DIR环境变量是必需的,以使文档工具正常工作。将其设置为您安装中docs目录的绝对路径。
{
"mcpServers": {
"activity-reporting": {
"command": "node",
"args": ["/绝对路径到/dist/index.js"],
1. "env": {
"MVP_ACCESS_TOKEN": "您的_mvp_bearer_token",
"MVP_USER_PROFILE_ID": "您的_mvp_profile_id",
"DOCS_DIR": "/绝对路径到/advocu-mcp-server/docs"
}
}
}
}
{
"mcpServers": {
"activity-reporting": {
"command": "node",
"args": ["/绝对路径到/dist/index.js"],
"env": {
"ADVOCU_ACCESS_TOKEN": "您的_gde_token",
"DOCS_DIR": "/绝对路径到/advocu-mcp-server/docs"
}
}
}
}
仅限 Claude Desktop 用户(不包括 Claude Code):
npm run capture-mvp-token
此工具将:
从 Advocu 开发者门户 获取您的令牌。
# 完全退出
Cmd+Q # macOS
Alt+F4 # Windows
# 然后重新打开 Claude Desktop
查找 🔨 锤子图标以确认工具已加载!
只需自然地与 Claude 对话!这里有一些示例:
"列出可用文档"
"显示 MVP API 参考"
"有哪些文档可用?"
"获取错误处理文档"
"提交我的 YouTube 视频到 Microsoft MVP:
- 标题:React 服务器组件完全指南
- 发布日期:2025年10月9日
- URL:https://youtube.com/watch?v=example
- 直播观看数:12,500
- 按需观看数:12,500
- 场次:1
- 目标受众:开发者,技术决策者
- 我的角色:主持人
- 技术领域:Web 开发
- 描述:全面教程涵盖 React 服务器组件..."
"添加我最新的博客文章到 MVP:
- 标题:理解 TypeScript 泛型
- 日期:2025-10-01
- URL:https://myblog.com/typescript-generics
- 浏览量:5,000
- 目标受众:开发者
- 角色:作者
- 技术领域:开发工具"
"报告我的会议演讲到 MVP:
- 标题:使用 Node.js 构建可扩展的 API
- 日期:2025-09-15
- URL:https://conference.com/my-talk
- 现场参会人数:250
- 场次:1
- 目标受众:开发者,IT 专业人士
- 角色:演讲者
- 技术领域:云与 AI"
"提交我的研讨会到我的 GDE 个人资料:
- 标题:高级 React 模式研讨会
- 类型:研讨会
- 日期:2025-08-20
- 格式:混合
- 国家:美国
- 现场参会人数:50
- 总参会人数:150
- URL:https://workshop.com"
"创建关于 Next.js 14 的 Medium 文章的内容创作草稿"
"报告我与三位开发者关于 TypeScript 最佳实践的指导会话"
| 工具 | 描述 | 使用 |
|---|---|---|
list_documentation | 列出所有可用文档 | "列出可用文档" |
get_documentation | 获取特定文档文件 | "显示 MVP API 参考" |
可用文档:
api-reference - MVP 和 GDE 的完整 API 文档mvp-api-reference - 详细的 MVP API 规范mvp-fixes-changelog - MVP 集成修复历史error-handling - 错误处理改进指南mcp-resources - MCP 资源使用指南📚 注意:文档工具需要在您的配置中设置
DOCS_DIR。
| 工具 | 描述 | 关键字段 |
|---|---|---|
submit_mvp_video | 视频、网络研讨会、直播 | 观看数、场次、角色、技术领域 |
submit_mvp_blog | 博客文章、文章 | 观看数、订阅者数、技术领域 |
submit_mvp_speaking | 会议演讲、演示 | 参会人数、场次、技术领域 |
| 工具 | 描述 |
|---|---|
submit_gde_content_creation | 文章、视频、播客 |
submit_gde_public_speaking | 演讲和演示 |
submit_gde_workshop | 培训课程 |
submit_gde_mentoring | 指导活动 |
submit_gde_product_feedback | 产品反馈 |
submit_gde_googler_interaction | 与谷歌员工互动 |
submit_gde_story | 成功故事 |
您的 MVP 令牌定期过期。当您收到 401 错误或令牌过期时:
对于 Claude Desktop 用户:
cd /路径到/advocu-mcp-server
npm run capture-mvp-token
会发生什么:
mavenapi-prod.azurewebsites.net优点:
需要时从 Advocu 获取新鲜令牌,并手动更新您的配置。
{
title: string; // 最多 100 字符
description: string; // 最多 1000 字符
date: string; // YYYY-MM-DD
url: string; // 视频 URL
targetAudience: string[]; // 开发者,学生,IT 专业人士等。
role: string; // 主持人,演讲者等。
technologyFocusArea: string;
liveStreamViews: number;
onDemandViews: number;
numberOfSessions: number; // 默认:1
isPrivate: boolean; // 可选
}
{
title: string;
description: string;
date: string;
url: string;
targetAudience: string[];
role: string; // 作者,贡献者等。
technologyFocusArea: string;
numberOfViews: number;
subscriberBase: number; // 可选
isPrivate: boolean; // 可选
}
{
title: string;
description: string;
date: string;
url: string;
targetAudience: string[];
role: string; // 演讲者,小组成员等。
technologyFocusArea: string;
inPersonAttendees: number;
numberOfSessions: number;
liveStreamViews: number; // 可选
onDemandViews: number; // 可选
isPrivate: boolean; // 可选
}
advocu-mcp-server/
├── src/
│ ├── index.ts # 入口点
│ ├── unifiedServer.ts # 主统一服务器(MVP + GDE)
│ ├── server.ts # 仅 GDE 的遗留服务器
│ ├── mvpServer.ts # 独立 MVP 服务器
│ ├── interfaces/ # 活动接口
│ │ ├── ActivityDraftBase.ts # GDE 基础接口
│ │ ├── ContentCreationDraft.ts # GDE 内容创作
│ │ ├── ... # 其他 GDE 接口
│ │ └── mvp/ # MVP 接口
│ │ ├── MVPActivityBase.ts
│ │ ├── MVPVideoActivity.ts
│ │ ├── MVPBlogActivity.ts
│ │ └── MVPSpeakingActivity.ts
│ └── types/ # 类型定义
│ ├── ContentType.ts # GDE 类型
│ ├── ...
│ └── mvp/ # MVP 类型
│ ├── MVPActivityType.ts
│ ├── MVPActivityRole.ts
│ └── MVPTargetAudience.ts
├── scripts/
│ ├── capture-mvp-token.ts # 令牌捕获工具
│ └── README.md # 脚本文档
├── dist/ # 编译输出
└── docs/ # 📚 文档(文档工具所需)
├── API.md # 完整 API 参考
├── MVP_API_REFERENCE.md # MVP API 规范
├── CHANGELOG_MVP_FIXES.md # MVP 集成变更日志
├── ERROR_HANDLING_IMPROVEMENTS.md # 错误处理指南
├── MCP_RESOURCES.md # MCP 资源指南
└── RELEASE_NOTES_v0.2.0.md # 发布说明
npm run build
npm run dev
npm run lint
npm run format
npm run capture-mvp-token
claude_desktop_config.json 在正确的位置npm run build您的令牌已过期。运行:
npm run capture-mvp-token
按照说明从 DevTools 中捕获新的令牌,然后重新启动 Claude Desktop。
您需要设置以下之一:
ADVOCU_ACCESS_TOKEN(用于 GDE),或MVP_ACCESS_TOKEN + MVP_USER_PROFILE_ID(用于 MVP)如果您既是 MVP 又是 GDE,则可以同时设置这两个!
如果遇到类似“读取资源失败”或“文档未找到”的错误:
DOCS_DIR 是否已设置:确保您已在 Claude Desktop 配置中添加了 DOCS_DIRdocs 目录"DOCS_DIR": "/Users/yourname/advocu-mcp-server/docs"ls "$DOCS_DIR" 来验证目录是否存在示例配置:
{
"env": {
"MVP_ACCESS_TOKEN": "...",
"DOCS_DIR": "/绝对路径到/advocu-mcp-server/docs"
}
}
MVP_USER_PROFILE_ID 正确npm run capture-mvp-token 获取新的令牌["开发者"])captured-api-calls.json 在 .gitignore 中 - 它包含敏感数据https://mavenapi-prod.azurewebsites.net/apiPOST /Activities/{ "activity": { ...字段 } }https://api.advocu.com/personal-api/v1/gde/activity-drafts/{类型}有关详细字段文档,请参阅 docs/API.md。
git checkout -b feature/amazing-featuregit push origin feature/amazing-featureMIT 许可证 - 详情见 LICENSE 文件。