This server enables Google Developer Experts (GDEs) and Microsoft MVPs to submit activity reports through natural language conversations with AI, eliminating manual data entry.
Core Capabilities:
Google GDE Activity Submissions:
Content creation (articles, books, demos, newsletters, podcasts, videos)
Public speaking (conference talks, presentations with attendee tracking, supporting in-person/virtual/hybrid formats across 240+ countries)
Workshops (training sessions with participant tracking)
Mentoring (sessions with mentee counts)
Product feedback (early access programs, feedback sessions)
Googler interactions (surveys, user studies, bug reports, Stack Overflow/GitHub contributions)
Success stories (diversity & inclusion, business/social impact, community leading, open source)
Microsoft MVP Activity Submissions:
Videos (YouTube videos, webinars, livestreams with view counts)
Blog posts (articles with views and subscriber metrics)
Speaking engagements (conference presentations with attendee counts)
Additional Features:
Documentation Access: Browse and retrieve API references, error handling guides, and changelogs
Dual Program Support: Handle both GDE and MVP reporting simultaneously
Automated Token Management: Includes
capture-mvp-tokenutility for capturing and refreshing frequently expiring Microsoft MVP bearer tokensActivity Validation: Enforces required fields, dates, URLs, and data formats
Local Configuration: Stores tokens securely in Claude Desktop configuration without external data sharing
Private Activity Flagging: Option to mark activities as private
Integrates with Google's Developer Expert (GDE) program via the Advocu API, allowing GDEs to report various activities such as content creation, speaking engagements, workshops, mentoring sessions, product feedback, and interactions with Google employees.
Mentioned as a platform where content creation activities can be reported, allowing GDEs to submit their blog posts published on Medium.
Supports reporting activities related to React, such as blog posts about React hooks or presentations at React conferences.
Allows reporting of mentoring sessions and other activities related to TypeScript development.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Activity Reporting MCP ServerSubmit my conference talk about AI ethics to MVP"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Unified Activity Reporting MCP Server
π― Overview
A unified MCP (Model Context Protocol) server that enables both Google Developer Experts (GDEs) and Microsoft MVPs to report their activities through AI-powered conversational interfaces.
Stop the boring manual data entry! Just talk to Claude and submit your activities naturally - whether it's a YouTube video, blog post, conference talk, or mentoring session.
Supported Programs
β Microsoft MVP - Direct API integration with the MVP portal
β Google GDE - Integration with Advocu API
π§ Both at once - If you're both an MVP and GDE, use one tool for everything!
Related MCP server: MCP Gemini Server
π Quick Start
Prerequisites
Node.js 18+
Claude Desktop
At least one access token (MVP or GDE)
Installation
Option 1: Local Development (Recommended)
git clone https://github.com/carlosazaustre/advocu-mcp-server.git
cd advocu-mcp-server
npm install
npm run buildOption 2: Global Install
npm install -g advocu-mcp-serverConfiguration
Edit your Claude Desktop config file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
For Both MVP + GDE:
{
"mcpServers": {
"activity-reporting": {
"command": "node",
"args": ["/absolute/path/to/advocu-mcp-server/dist/index.js"],
"env": {
"MVP_ACCESS_TOKEN": "your_mvp_bearer_token",
"MVP_USER_PROFILE_ID": "your_mvp_profile_id",
"ADVOCU_ACCESS_TOKEN": "your_gde_token",
"DOCS_DIR": "/absolute/path/to/advocu-mcp-server/docs"
}
}
}
}π Important: The
DOCS_DIRenvironment variable is required for documentation tools to work. Set it to the absolute path of thedocsdirectory in your installation.
MVP Only:
{
"mcpServers": {
"activity-reporting": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"],
"env": {
"MVP_ACCESS_TOKEN": "your_mvp_bearer_token",
"MVP_USER_PROFILE_ID": "your_mvp_profile_id",
"DOCS_DIR": "/absolute/path/to/advocu-mcp-server/docs"
}
}
}
}GDE Only:
{
"mcpServers": {
"activity-reporting": {
"command": "node",
"args": ["/absolute/path/to/dist/index.js"],
"env": {
"ADVOCU_ACCESS_TOKEN": "your_gde_token",
"DOCS_DIR": "/absolute/path/to/advocu-mcp-server/docs"
}
}
}
}Get Your Tokens
Microsoft MVP Token
For Claude Desktop users only (not Claude Code):
npm run capture-mvp-tokenThis tool will:
Open your default browser to the MVP portal (you should already be logged in)
Show you detailed instructions to capture the token from DevTools
Paste your token when prompted
Automatically update your Claude Desktop config file with the new token
No browser automation detection - uses your real browser session!
Google GDE Token
Get your token from the Advocu Developer Portal.
Restart Claude Desktop
# Quit completely
Cmd+Q # macOS
Alt+F4 # Windows
# Then reopen Claude DesktopLook for the π¨ hammer icon to confirm tools are loaded!
π¬ Usage Examples
Just talk to Claude naturally! Here are examples:
Documentation Tools
"List available documentation""Show me the MVP API reference""What documentation is available?""Get the error handling documentation"Microsoft MVP Activities
Submit a Video
"Submit my YouTube video to Microsoft MVP:
- Title: Complete Guide to React Server Components
- Published: October 9, 2025
- URL: https://youtube.com/watch?v=example
- Livestream views: 12,500
- On-demand views: 12,500
- Sessions: 1
- Target audience: Developers, Technical Decision Makers
- My role: Host
- Tech area: Web Development
- Description: A comprehensive tutorial covering React Server Components..."Submit a Blog Post
"Add my latest blog post to MVP:
- Title: Understanding TypeScript Generics
- Date: 2025-10-01
- URL: https://myblog.com/typescript-generics
- Views: 5,000
- Target audience: Developers
- Role: Author
- Tech area: Developer Tools"Submit a Conference Talk
"Report my conference presentation to MVP:
- Title: Building Scalable APIs with Node.js
- Date: 2025-09-15
- URL: https://conference.com/my-talk
- In-person attendees: 250
- Sessions: 1
- Target audience: Developers, IT Pros
- Role: Speaker
- Tech area: Cloud & AI"Google GDE Activities
"Submit my workshop to my GDE profile:
- Title: Advanced React Patterns Workshop
- Type: Workshop
- Date: 2025-08-20
- Format: Hybrid
- Country: United States
- In-person attendees: 50
- Total attendees: 150
- URL: https://workshop.com""Create a content creation draft for my Medium article about Next.js 14""Report my mentoring session with 3 developers about TypeScript best practices"π§ Available Tools
Documentation Tools (2) - Always Available
Tool | Description | Usage |
| List all available documentation | "List available documentation" |
| Get a specific documentation file | "Show me the MVP API reference" |
Available Documents:
api-reference- Complete API documentation for MVP and GDEmvp-api-reference- Detailed MVP API specificationsmvp-fixes-changelog- MVP integration fixes historyerror-handling- Error handling improvements guidemcp-resources- MCP resources usage guide
π Note: Documentation tools require
DOCS_DIRto be set in your configuration.
Microsoft MVP Tools (3)
Tool | Description | Key Fields |
| Videos, webinars, livestreams | views, sessions, role, tech area |
| Blog posts, articles | views, subscribers, tech area |
| Conference talks, presentations | attendees, sessions, tech area |
Google GDE Tools (7)
Tool | Description |
| Articles, videos, podcasts |
| Talks and presentations |
| Training sessions |
| Mentoring activities |
| Product feedback |
| Google employee interactions |
| Success stories |
π Token Refresh
Microsoft MVP Token (Expires: Hours/Days)
Your MVP token expires regularly. When you get a 401 error or your token expires:
For Claude Desktop users:
cd /path/to/advocu-mcp-server
npm run capture-mvp-tokenWhat happens:
π Your default browser opens to the MVP portal
β If you're already logged in, you'll see your account immediately
π If not logged in, log in with Microsoft (2FA supported)
π οΈ Open DevTools (F12 or Cmd+Option+I)
π Navigate to "Add activity" and fill any field
π In Network tab, find the request to
mavenapi-prod.azurewebsites.netπ Copy the Bearer token from the Authorization header
β¨οΈ Paste the token in the terminal
β Your Claude Desktop config file is automatically updated!
π Restart Claude Desktop
Advantages:
β Uses your real browser (no automation detection)
β Works with 2FA/MFA
β Automatically updates your Claude Desktop config file
β Clear step-by-step instructions
Google GDE Token (Expires: Less frequently)
Get a fresh token from Advocu when needed and update your config manually.
π Required Fields Reference
MVP Video Activity
{
title: string; // Max 100 chars
description: string; // Max 1000 chars
date: string; // YYYY-MM-DD
url: string; // Video URL
targetAudience: string[]; // Developer, Student, IT Pro, etc.
role: string; // Host, Presenter, etc.
technologyFocusArea: string;
liveStreamViews: number;
onDemandViews: number;
numberOfSessions: number; // Default: 1
isPrivate: boolean; // Optional
}MVP Blog Activity
{
title: string;
description: string;
date: string;
url: string;
targetAudience: string[];
role: string; // Author, Contributor, etc.
technologyFocusArea: string;
numberOfViews: number;
subscriberBase: number; // Optional
isPrivate: boolean; // Optional
}MVP Speaking Activity
{
title: string;
description: string;
date: string;
url: string;
targetAudience: string[];
role: string; // Speaker, Panelist, etc.
technologyFocusArea: string;
inPersonAttendees: number;
numberOfSessions: number;
liveStreamViews: number; // Optional
onDemandViews: number; // Optional
isPrivate: boolean; // Optional
}ποΈ Project Structure
advocu-mcp-server/
βββ src/
β βββ index.ts # Entry point
β βββ unifiedServer.ts # Main unified server (MVP + GDE)
β βββ server.ts # Legacy GDE-only server
β βββ mvpServer.ts # Standalone MVP server
β βββ interfaces/ # Activity interfaces
β β βββ ActivityDraftBase.ts # GDE base interface
β β βββ ContentCreationDraft.ts # GDE content creation
β β βββ ... # Other GDE interfaces
β β βββ mvp/ # MVP interfaces
β β βββ MVPActivityBase.ts
β β βββ MVPVideoActivity.ts
β β βββ MVPBlogActivity.ts
β β βββ MVPSpeakingActivity.ts
β βββ types/ # Type definitions
β βββ ContentType.ts # GDE types
β βββ ...
β βββ mvp/ # MVP types
β βββ MVPActivityType.ts
β βββ MVPActivityRole.ts
β βββ MVPTargetAudience.ts
βββ scripts/
β βββ capture-mvp-token.ts # Token capture tool
β βββ README.md # Script documentation
βββ dist/ # Compiled output
βββ docs/ # π Documentation (required for doc tools)
βββ API.md # Complete API reference
βββ MVP_API_REFERENCE.md # MVP API specifications
βββ CHANGELOG_MVP_FIXES.md # MVP integration changelog
βββ ERROR_HANDLING_IMPROVEMENTS.md # Error handling guide
βββ MCP_RESOURCES.md # MCP resources guide
βββ RELEASE_NOTES_v0.2.0.md # Release notesπ οΈ Development
Build
npm run buildDevelopment Mode
npm run devLint and Format
npm run lint
npm run formatCapture MVP Token
npm run capture-mvp-tokenπ Troubleshooting
Tools Don't Appear in Claude Desktop
Check config path: Ensure your
claude_desktop_config.jsonis in the right locationVerify build: Run
npm run buildin the project directoryCheck logs: Restart Claude Desktop and check for errors
Verify tokens: Make sure at least one token (MVP or GDE) is configured
401 Unauthorized Error (MVP)
Your token expired. Run:
npm run capture-mvp-tokenFollow the instructions to capture a fresh token from DevTools, then restart Claude Desktop.
"At least one of GDE or MVP must be configured"
You need to set either:
ADVOCU_ACCESS_TOKEN(for GDE), orMVP_ACCESS_TOKEN+MVP_USER_PROFILE_ID(for MVP)
Both can be set if you're both an MVP and GDE!
Documentation Tools Not Working
If you get errors like "Failed to read resource" or "Documentation not found":
Check : Make sure you added
DOCS_DIRto your Claude Desktop configVerify the path: The path must be absolute and point to the
docsdirectoryExample:
"DOCS_DIR": "/Users/yourname/advocu-mcp-server/docs"Check directory exists: Run
ls "$DOCS_DIR"to verify the directory existsRestart Claude Desktop: Changes to config require a restart
Example config:
{
"env": {
"MVP_ACCESS_TOKEN": "...",
"DOCS_DIR": "/absolute/path/to/advocu-mcp-server/docs"
}
}MVP Submission Fails
Check your profile ID: Make sure
MVP_USER_PROFILE_IDis correctVerify token: Run
npm run capture-mvp-tokento get a fresh tokenCheck required fields: All required fields must be provided
Target audience: Must be an array (e.g.,
["Developer"])
π Security & Privacy
Tokens are stored locally in your Claude Desktop config
Never commit tokens to version control
captured-api-calls.json- it contains sensitive dataMVP tokens expire regularly for security
Tokens are never sent to anyone except the official APIs
π API Documentation
Microsoft MVP API
Base URL:
https://mavenapi-prod.azurewebsites.net/apiEndpoint:
POST /Activities/Authentication: Bearer token
Payload:
{ "activity": { ...fields } }
Google GDE API (Advocu)
Base URL:
https://api.advocu.com/personal-api/v1/gdeEndpoints:
/activity-drafts/{type}Authentication: Bearer token
Rate Limit: 30 requests/minute
For detailed field documentation, see docs/API.md.
π€ Contributing
Fork the project
Create a feature branch:
git checkout -b feature/amazing-featureCommit your changes (use conventional commits)
Push to the branch:
git push origin feature/amazing-featureOpen a Pull Request
π License
MIT License - see LICENSE file for details.
π Acknowledgments
Built for Google Developer Experts and Microsoft MVPs
Powered by Model Context Protocol (MCP)
Integrates with Advocu and Microsoft MVP Portal
π‘ Tips
Be specific: The more details you provide to Claude, the better
Natural language: Just describe what you did - Claude will structure it
Batch submissions: Submit multiple activities in one conversation
Check responses: Claude will show you the API response for verification
Token expires? Just run
npm run capture-mvp-tokenand paste your new token - takes 30 seconds
Questions or issues? Open an issue on GitHub or check the troubleshooting section.
Want to add more activity types? Check out the code structure and submit a PR! π