JUHE API Marketplace
carlosazaustre avatar
MCP Server

Activity Reporting MCP Server

Enables Google Developer Experts to report various activities (content creation, speaking engagements, workshops, mentoring) through AI conversational interfaces by connecting Advocu API with Model Context Protocol.

30
GitHub Stars
3/14/2026
Last Updated
MCP Server Configuration
1{
2 "name": "activity-reporting",
3 "command": "node",
4 "args": [
5 "/absolute/path/to/advocu-mcp-server/dist/index.js"
6 ],
7 "env": {
8 "MVP_ACCESS_TOKEN": "your_mvp_bearer_token",
9 "MVP_USER_PROFILE_ID": "your_mvp_profile_id",
10 "ADVOCU_ACCESS_TOKEN": "your_gde_token",
11 "DOCS_DIR": "/absolute/path/to/advocu-mcp-server/docs"
12 }
13}
JSON13 lines
  1. Home
  2. MCP Servers
  3. advocu-mcp-server

README Documentation

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!

šŸš€ 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 build
Option 2: Global Install
npm install -g advocu-mcp-server

Configuration

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_DIR environment variable is required for documentation tools to work. Set it to the absolute path of the docs directory 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-token

This tool will:

  1. Open your default browser to the MVP portal (you should already be logged in)
  2. Show you detailed instructions to capture the token from DevTools
  3. Paste your token when prompted
  4. Automatically update your Claude Desktop config file with the new token
  5. 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 Desktop

Look 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

ToolDescriptionUsage
list_documentationList all available documentation"List available documentation"
get_documentationGet a specific documentation file"Show me the MVP API reference"

Available Documents:

  • api-reference - Complete API documentation for MVP and GDE
  • mvp-api-reference - Detailed MVP API specifications
  • mvp-fixes-changelog - MVP integration fixes history
  • error-handling - Error handling improvements guide
  • mcp-resources - MCP resources usage guide

šŸ“š Note: Documentation tools require DOCS_DIR to be set in your configuration.

Microsoft MVP Tools (3)

ToolDescriptionKey Fields
submit_mvp_videoVideos, webinars, livestreamsviews, sessions, role, tech area
submit_mvp_blogBlog posts, articlesviews, subscribers, tech area
submit_mvp_speakingConference talks, presentationsattendees, sessions, tech area

Google GDE Tools (7)

ToolDescription
submit_gde_content_creationArticles, videos, podcasts
submit_gde_public_speakingTalks and presentations
submit_gde_workshopTraining sessions
submit_gde_mentoringMentoring activities
submit_gde_product_feedbackProduct feedback
submit_gde_googler_interactionGoogle employee interactions
submit_gde_storySuccess 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-token

What happens:

  1. 🌐 Your default browser opens to the MVP portal
  2. āœ… If you're already logged in, you'll see your account immediately
  3. šŸ” If not logged in, log in with Microsoft (2FA supported)
  4. šŸ› ļø Open DevTools (F12 or Cmd+Option+I)
  5. šŸ“ Navigate to "Add activity" and fill any field
  6. šŸ” In Network tab, find the request to mavenapi-prod.azurewebsites.net
  7. šŸ“‹ Copy the Bearer token from the Authorization header
  8. āŒØļø Paste the token in the terminal
  9. āœ… Your Claude Desktop config file is automatically updated!
  10. šŸ”„ 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 build

Development Mode

npm run dev

Lint and Format

npm run lint
npm run format

Capture MVP Token

npm run capture-mvp-token

šŸ› Troubleshooting

Tools Don't Appear in Claude Desktop

  1. Check config path: Ensure your claude_desktop_config.json is in the right location
  2. Verify build: Run npm run build in the project directory
  3. Check logs: Restart Claude Desktop and check for errors
  4. 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-token

Follow 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), or
  • MVP_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":

  1. Check DOCS_DIR is set: Make sure you added DOCS_DIR to your Claude Desktop config
  2. Verify the path: The path must be absolute and point to the docs directory
  3. Example: "DOCS_DIR": "/Users/yourname/advocu-mcp-server/docs"
  4. Check directory exists: Run ls "$DOCS_DIR" to verify the directory exists
  5. Restart 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

  1. Check your profile ID: Make sure MVP_USER_PROFILE_ID is correct
  2. Verify token: Run npm run capture-mvp-token to get a fresh token
  3. Check required fields: All required fields must be provided
  4. 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 is in .gitignore - it contains sensitive data
  • MVP 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/api
  • Endpoint: POST /Activities/
  • Authentication: Bearer token
  • Payload: { "activity": { ...fields } }

Google GDE API (Advocu)

  • Base URL: https://api.advocu.com/personal-api/v1/gde
  • Endpoints: /activity-drafts/{type}
  • Authentication: Bearer token
  • Rate Limit: 30 requests/minute

For detailed field documentation, see docs/API.md.


šŸ¤ Contributing

  1. Fork the project
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes (use conventional commits)
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open 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-token and 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! šŸš€

Quick Install

Quick Actions

View on GitHubView All Servers

Key Features

Model Context Protocol
Secure Communication
Real-time Updates
Open Source

Boost your projects with Wisdom Gate LLM API

Supporting GPT-5, Claude-4, DeepSeek v3, Gemini and more.

Enjoy a free trial and save 20%+ compared to official pricing.

Learn More
JUHE API Marketplace

Accelerate development, innovate faster, and transform your business with our comprehensive API ecosystem.

JUHE API VS

  • vs. RapidAPI
  • vs. API Layer
  • API Platforms 2025
  • API Marketplaces 2025
  • Best Alternatives to RapidAPI

For Developers

  • Console
  • Collections
  • Documentation
  • MCP Servers
  • Free APIs
  • Temp Mail Demo

Product

  • Browse APIs
  • Suggest an API
  • Wisdom Gate LLM
  • Global SMS Messaging
  • Temp Mail API

Company

  • What's New
  • Welcome
  • About Us
  • Contact Support
  • Terms of Service
  • Privacy Policy
Featured on Startup FameFeatured on Twelve ToolsFazier badgeJuheAPI Marketplace - Connect smarter, beyond APIs | Product Huntai tools code.marketDang.aiFeatured on ShowMeBestAI
Copyright Ā© 2026 JUHEDATA HK LIMITED - All rights reserved