PeakMojo Server

Official

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Supports containerized deployment with multi-platform support for Linux/amd64, Linux/arm64, and Linux/arm/v7, allowing easy configuration via environment variables or command line arguments.

PeakMojo Server

A Python server implementation for integrating with the PeakMojo API.

Features

  • Full integration with PeakMojo API endpoints
  • Bearer token authentication
  • Resource and tool-based access to PeakMojo functionality
  • Automatic fallback to mock responses during development

Installation

pip install mcp-server-peakmojo

Configuration

The server requires the following environment variables:

You can also configure these via command line arguments:

python -m mcp_server_peakmojo --api-key YOUR_API_KEY --base-url YOUR_BASE_URL

Available Resources

The server provides access to the following PeakMojo resources:

  • Users (peakmojo://users)
  • Personas (peakmojo://personas, peakmojo://personas/tags, peakmojo://personas/search)
  • Scenarios (peakmojo://scenarios)
  • Job Scenarios (peakmojo://job_scenarios)
  • Jobs (peakmojo://jobs)
  • Applications (peakmojo://applications)
  • Practices (peakmojo://practices)
  • Skills (peakmojo://skills)
  • Certificates (peakmojo://certificates)

Available Tools

The server provides the following tools for interacting with the PeakMojo API:

User Management

  • get_peakmojo_users: Get list of all users
  • get_peakmojo_user: Get user details by ID
  • get_peakmojo_user_stats: Get user statistics
  • update_peakmojo_user_stats: Update user statistics

Persona Management

  • get_peakmojo_personas: Get list of personas
  • get_peakmojo_persona_tags: Get persona tags
  • search_peakmojo_personas: Search for personas
  • create_peakmojo_persona: Create a new persona

Scenario Management

  • get_peakmojo_scenarios: Get list of scenarios
  • create_peakmojo_job_scenario: Create a new job scenario

Workspace Management

  • get_workspace_personas: Get personas for a workspace

Job Management

  • get_job: Get job details

Application Management

  • get_application: Get application details

Practice Management

  • get_practice_messages: Get practice messages

Skill Management

  • get_user_skills: Get user skills

Certificate Management

  • get_certificates: Get list of certificates
  • get_certificate_skills: Get skills for a certificate
  • issue_user_certificate: Issue a certificate to a user
  • add_certificate_skill_courses: Add courses to a certificate skill

Development

During development, if the API is not accessible, the server will automatically fall back to mock responses for each endpoint. This allows for development and testing without requiring a live API connection.

Error Handling

The server implements comprehensive error handling:

  • Invalid API keys are logged with warnings
  • Failed API requests fall back to mock responses
  • HTTP errors are properly caught and logged
  • All errors are returned as JSON responses with appropriate error messages

Docker Support

Prerequisites

The Docker image is built for multiple platforms:

  • Linux/amd64
  • Linux/arm64
  • Linux/arm/v7

Option 1: Pull from Docker Hub

docker pull buryhuang/mcp-server-peakmojo:latest

Option 2: Build Locally

docker build -t mcp-server-peakmojo .

Running the Container

Basic usage with API key:

docker run \ -e PEAKMOJO_API_KEY=your_api_key_here \ -e PEAKMOJO_BASE_URL=https://api.staging.readymojo.com \ buryhuang/mcp-server-peakmojo:latest

Cross-Platform Publishing

To publish the Docker image for multiple platforms:

  1. Create a new builder instance (if you haven't already):
    docker buildx create --use
  2. Build and push the image for multiple platforms:
    docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t peakmojo/mcp-server-peakmojo:latest --push .
  3. Verify the image is available for the specified platforms:
    docker buildx imagetools inspect peakmojo/mcp-server-peakmojo:latest

Usage with Claude Desktop

Configure the MCP server in your Claude Desktop settings:

{ "mcpServers": { "peakmojo": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "PEAKMOJO_API_KEY=your_api_key_here", "-e", "PEAKMOJO_BASE_URL=https://api.staging.readymojo.com", "peakmojo/mcp-server-peakmojo:latest" ] } } }

Example running from source

If you want to run directly from the source code:

{ "mcpServers": { "peakmojo": { "command": "python", "args": [ "-m", "mcp_server_peakmojo", "--api-key", "your_api_key_here", "--base-url", "https://api.staging.readymojo.com" ] } } }

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request