Advocu MCP Server
Allows Docker Captains to submit professional activities such as public speaking engagements, articles, videos, organized events, feedback sessions, and social media amplification through the Advocu API.
Allows Google Developer Experts (GDEs) to submit professional activities such as public speaking, content creation, workshops, mentoring, product feedback, Googler interactions, and success stories through the Advocu API.
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., "@Advocu MCP ServerI gave a talk about Docker networking at KubeCon on June 5th with 500 attendees"
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.
Advocu MCP Server
A unified Model Context Protocol (MCP) server that enables Google Developer Experts (GDEs), Docker Captains, and Microsoft MVPs to report their professional activities through conversational AI interfaces.
Built with FastMCP for seamless integration with Claude, Gemini, and other AI agents.
Features
🎯 Multi-Program Support: Single server for GDE, Docker Captains, and MVP programs
🚀 FastMCP-Powered: Simple, Pythonic MCP server with automatic schema generation
🔒 Rate Limiting: Built-in rate limiting (30 req/min) to respect API limits
✅ Type-Safe: Pydantic models for robust data validation
🤖 Conversational: Natural language activity submission via AI agents
📊 Activity Management: Submit, list, and track activities across programs
Related MCP server: Activity Reporting MCP Server
⚠️ Important: Draft-Only Workflow
The Advocu API only allows creating DRAFTS via API. After creating an activity through the MCP server, you need to:
✅ Create draft via MCP/Claude (automated)
🌐 Go to the portal (manual step)
Docker Captains: https://hub.docker.com/
📝 Review the draft (verify data is correct)
✅ Click "Submit" to publish (manual step)
This is a limitation of the Advocu API, not the MCP server. All activities will be created as drafts that require manual publishing.
Supported Activities
Docker Captains
🎤 Public speaking (conferences, meetups)
📝 Resources (articles, videos, tutorials)
🎓 Events (workshops, hackathons)
💬 Feedback sessions
📢 Amplification (social media, community)
Google Developer Experts (GDE)
🎤 Public speaking
📝 Content creation
🎓 Workshops
👨🏫 Mentoring
🔍 Product feedback
🤝 Googler interactions
📖 Success stories
Microsoft MVPs
(Coming soon - different API endpoint)
Quick Start
1. Prerequisites
Python 3.10 or higher
Access token from your program (GDE and/or Docker Captains)
2. Installation
# Clone the repository
git clone https://github.com/yourusername/advocu-mcp-server.git
cd advocu-mcp-server
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -e .3. Configuration
Create a .env file with your tokens:
cp .env.example .envEdit .env and add your tokens:
# For GDEs
GDE_ACCESS_TOKEN=your_gde_token_here
# For Docker Captains
DOCKER_ACCESS_TOKEN=your_docker_token_hereHow to Get Your Token
For Google Developer Experts:
Go to Settings → Integrations → API
Click "Generate your token"
Copy the token
For Docker Captains:
Visit the Docker Captains portal
Go to Settings → Integrations → API
Click "Generate your token"
Copy the token
4a. Configure Claude Desktop (Optional)
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on Mac):
{
"mcpServers": {
"advocu": {
"command": "python",
"args": ["-m", "src.server"],
"cwd": "/path/to/advocu-mcp-server",
"env": {
"PYTHONPATH": "/path/to/advocu-mcp-server"
}
}
}
}4b. Configure Claude Code CLI (Recommended)
The project already includes a .mcp.json file for Claude Code CLI. Just verify it's configured:
# Check server status
claude mcp list
# You should see:
# advocu: .../venv/bin/python -m src.server - ✓ ConnectedIf you need to reconfigure, edit .mcp.json:
{
"mcpServers": {
"advocu": {
"type": "stdio",
"command": "/home/falcon/advocu-mcp-server/venv/bin/python",
"args": ["-m", "src.server"],
"cwd": "/home/falcon/advocu-mcp-server",
"env": {
"PYTHONPATH": "/home/falcon/advocu-mcp-server"
}
}
}
}Note: Update the paths to match your installation directory.
5. Usage
Start chatting naturally with Claude (Desktop or CLI):
Examples:
"I gave a talk about Docker networking at KubeCon on June 5th, 2026 with 500 attendees"
"I published a tutorial on Cloud Run yesterday with 3000 views"
"I organized a workshop on Kubernetes last week with 30 people for 4 hours"
Claude will automatically use the appropriate MCP tools to submit your activities.
Available Tools
Docker Captains Tools
submit_docker_public_speaking- Submit speaking engagementssubmit_docker_resource- Submit articles, videos, tutorialssubmit_docker_event- Submit organized eventssubmit_docker_feedback- Submit feedback sessionssubmit_docker_amplification- Submit social media amplification
GDE Tools
submit_gde_public_speaking- Submit speaking engagementssubmit_gde_content- Submit content creationsubmit_gde_workshop- Submit workshopssubmit_gde_mentoring- Submit mentoring sessionssubmit_gde_product_feedback- Submit product feedbacksubmit_gde_googler_interaction- Submit Googler interactionssubmit_gde_story- Submit success stories
Utility Tools
list_recent_activities- List recent activities
Usage Examples
Docker Captains Examples
Example 1: Submit a Video Tutorial
You say:
"I just published a video tutorial on YouTube about Docker Multi-Stage Builds. It was posted on June 1st, 2026, and already has 2500 views, 150 likes, and 45 comments. Here's the link: https://youtube.com/watch?v=example"
Claude will:
Use
submit_docker_resourcetoolExtract: title, date, URL, metrics (views, likes, comments)
Content type: "Video"
Create draft in Advocu
Result:
✅ Resource activity DRAFT created successfully
Draft ID: abc123...
⚠️ Go to https://hub.docker.com/ to review and click 'Submit' to publishExample 2: Submit a Blog Post
You say:
"I wrote a blog post titled 'Docker Security Best Practices 2026' yesterday. It's published at https://myblog.com/docker-security and currently has 5000 views and 200 shares"
Claude creates:
Title: "Docker Security Best Practices 2026"
Content type: "Blog post"
Metrics: 5000 views, 200 shares
Date: 2026-06-07 (yesterday)
Example 3: Submit a Conference Talk
You say:
"I gave a presentation at DockerCon 2026 titled 'The Future of Container Orchestration' on June 5th. It was in-person, lasted 45 minutes, and had approximately 500 attendees. Slides are at https://slides.com/my-talk"
Claude creates:
Tool:
submit_docker_public_speakingFormat: "In-person"
Duration: 45 minutes
Attendees: 500
Example 4: Submit a Workshop
You say:
"I organized a Docker workshop for beginners last week on June 3rd. It was a virtual event that lasted 4 hours (2-4 hours duration) with 30 participants. We covered Docker basics and best practices"
Claude creates:
Tool:
submit_docker_eventEvent type: "Workshop"
Format: "Virtual"
Duration: "2-4 hours"
Attendees: 30
Tags: Docker, workshop, beginners
Example 5: Submit Social Media Amplification
You say:
"I shared Docker's new release announcement on Twitter and LinkedIn yesterday. The post got 15,000 impressions, 250 likes, and 80 retweets"
Claude creates:
Tool:
submit_docker_amplificationType: "Social media post"
Channels: Twitter, LinkedIn
Metrics: 15000 impressions, 250 likes, 80 shares
Example 6: Submit Feedback Session
You say:
"I had a feedback call with Sarah from the Docker team on June 4th about Docker Desktop's new networking features. We discussed UX improvements for about 45 minutes via Zoom"
Claude creates:
Tool:
submit_docker_feedbackDocker representative: "Sarah"
Mode: "Direct call"
Time spent: 45 minutes
GDE Examples
Example 1: Submit a Blog Post/Article
You say:
"I published an article about Cloud Run optimization on Medium yesterday. It's at https://medium.com/@me/cloud-run-optimization and has 3500 views, 180 claps, and 25 comments"
Claude creates:
Tool:
submit_gde_contentContent type: "Blog post"
Google technology: "Cloud Run"
Metrics: 3500 views, 180 likes, 25 comments
Example 2: Submit a Conference Presentation
You say:
"I presented at Google I/O Extended 2026 on June 8th. My talk was about 'Building Scalable Apps with Firebase' and was in-person with around 300 attendees. It lasted 50 minutes"
Claude creates:
Tool:
submit_gde_public_speakingEvent name: "Google I/O Extended 2026"
Google technology: "Firebase"
Format: "In-person"
Duration: 50 minutes
Attendees: 300
Example 3: Submit a Workshop/Training
You say:
"I conducted a hands-on workshop on Flutter development last Saturday, June 6th. It was a full-day workshop (8 hours) with 25 developers, and we built 3 complete apps together"
Claude creates:
Tool:
submit_gde_workshopTopic: "Flutter development"
Duration: "Full day"
Attendees: 25
Format: "In-person" or "Virtual" (based on context)
Example 4: Submit Mentoring Activity
You say:
"I mentored 5 junior developers this week on Google Cloud architecture best practices. We had 3 sessions totaling about 6 hours"
Claude creates:
Tool:
submit_gde_mentoringTopic: "Google Cloud architecture"
Number of people: 5
Time spent: 6 hours (360 minutes)
Example 5: Submit Product Feedback
You say:
"I provided feedback to the Google Cloud team on June 7th about Cloud Functions cold start performance. I shared detailed metrics and suggestions during a 1-hour call with the product manager"
Claude creates:
Tool:
submit_gde_product_feedbackProduct: "Cloud Functions"
Feedback: "Cold start performance improvements"
Mode: "Direct call"
Time spent: 60 minutes
Example 6: Submit Googler Interaction
You say:
"I collaborated with a Google engineer named Alex on improving the TensorFlow documentation on June 5th. We had a 2-hour video call to review my proposed changes"
Claude creates:
Tool:
submit_gde_googler_interactionGoogler name: "Alex"
Topic: "TensorFlow documentation"
Type: "Collaboration"
Duration: 2 hours
Example 7: Submit a Success Story
You say:
"One of my mentees just got hired at a major tech company after following my Google Cloud training program. They went from zero cloud experience to GCP certified in 6 months"
Claude creates:
Tool:
submit_gde_storyStory: Mentee's success with Google Cloud
Impact: Career transformation, certification
Technology: Google Cloud Platform
Listing Your Activities
You say:
"Show me my last 10 Docker Captain activities"
Claude will:
Use
list_recent_activitiestoolDisplay your recent submissions with titles, dates, and types
Tips for Better Results
Be specific: Include dates, numbers, and URLs when available
Mention the platform: "on YouTube", "on Medium", "at KubeCon"
Include metrics: Views, attendees, duration, impressions
Specify format: "in-person", "virtual", "hybrid"
Natural language: Just talk normally, Claude will extract the data
What Happens After Submission
✅ Claude creates the draft via API
📧 You receive the draft ID
🌐 You go to the portal:
📝 Review the draft (verify all data is correct)
✅ Click "Submit" to publish
Important: The API only creates drafts. The final "Submit" must be done manually in the portal.
Development
Project Structure
advocu-mcp-server/
├── src/
│ ├── __init__.py
│ ├── server.py # Main FastMCP server
│ ├── config.py # Configuration management
│ ├── clients/
│ │ ├── __init__.py
│ │ └── advocu.py # Advocu API client
│ ├── models/
│ │ ├── __init__.py
│ │ ├── base.py # Base models
│ │ ├── docker.py # Docker Captains models
│ │ └── gde.py # GDE models
│ └── utils/
│ ├── __init__.py
│ └── rate_limiter.py # Rate limiting
├── tests/ # Tests (coming soon)
├── pyproject.toml # Project metadata
├── .env.example # Environment template
└── README.md # This fileRunning Tests
pytestCode Quality
# Format code
ruff format .
# Lint code
ruff check .API Reference
Advocu API
Base URLs:
GDE:
https://api.advocu.com/personal-api/v1/gdeDocker Captains:
https://api.advocu.com/personal-api/v1/dockercaptains
Authentication:
Authorization: Bearer {access-token}
Content-Type: application/jsonRate Limits:
30 requests per minute per user
Returns HTTP 429 if exceeded
Troubleshooting
Authentication Failed
Error: Authentication failed. Please check your access token.
Solution:
Verify your token in
.envis correctCheck if the token has expired
Generate a new token from the program portal
Rate Limit Exceeded
Error: Rate limit exceeded. Please wait before making more requests.
Solution:
The server has built-in rate limiting
Wait ~1 minute before making more requests
The rate limiter automatically handles this
Program Not Configured
Error: No access token configured for {program}
Solution:
Add the appropriate token to
.envRestart the MCP server
Verify the token variable name matches
Contributing
Contributions are welcome! Please:
Fork the repository
Create a feature branch
Make your changes
Add tests if applicable
Submit a pull request
License
MIT License - see LICENSE file for details
Support
Issues: https://github.com/yourusername/advocu-mcp-server/issues
Documentation: https://github.com/yourusername/advocu-mcp-server/wiki
Acknowledgments
Built with FastMCP by Prefect
Powered by Advocu API
Roadmap
Microsoft MVP API integration
Activity templates and suggestions
Batch activity submission
Activity analytics and insights
Multi-user support
Web dashboard
Docker container for easy deployment
Made with ❤️ for the developer community
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/falconcr/advocu-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server