MCPH Documentation

Learn how to use MCPH to share AI-generated content with anyone, anywhere.

What is MCPH?

MCPH is a modern USB key for AI agents—store, share, and auto-expire artifacts in one command. It works with ChatGPT, Claude, and other AI tools that support the Model Context Protocol (MCP).

With MCPH, you can:

  • Share AI outputs with anyone via a simple link - no login required to view
  • Store multiple content types including markdown, code, JSON, images, and binary files
  • Integrate directly with AI tools so you can create and share without manual uploads
  • Password-protect sensitive content with a simple security option

Why "crate"?

We use the term "crate" to describe the shareable artifacts in MCPH:

  • Files are raw digital content with specific formats (e.g., .md, .jpg, .json)
  • Artifacts are the AI-generated outputs you want to preserve and share
  • Crates are these artifacts packaged with metadata, making them easy to discover, share, and use
  • Like a shipping crate, they can be transported across systems and opened anywhere

Looking for more details? Run npx mcp-remote --help for CLI information.

MCPH is built on the Model Context Protocol (MCP), which enables AI models to maintain and share context across interactions.

Features

  • Hybrid Search

    Combine keyword and semantic search for more relevant results.

Anonymous vs. Logged-in Users

MCPH offers different capabilities depending on whether you are logged in or using the service anonymously.

FeatureAnonymous UsersLogged-in Users
Download Crates
Upload Crates
Search Crates
Delete Crates
Manage API Keys

Anonymous users can only download public crates. Logged-in users can manage their own crates and API keys.

Getting Started

Quick Reference

  • Web Interface: mcph.io
  • API Endpoint: https://mcp.mcph.io/mcp
  • View Shared Content: https://mcph.io/crate/[id]

Step 1: Create an Account

Visit mcph.io and sign up for a free account. After logging in, navigate to the API Keys section to generate your personal API key. You'll need this to connect AI tools to your MCPH account.

Step 2: Connect Your AI Tool

MCPH works with any AI tool that supports the Model Context Protocol. Crates are stored for 30 days and all generated download links expires in 24 hours. The simplest way to connect is using the mcp-remote CLI tool:

  1. Install mcp-remote (one-time setup):
    npm install -g mcp-remote

    Or use npx to run without installing (shown in examples below).

  2. Connect to MCPH with your API key:
    npx mcp-remote https://mcp.mcph.io/mcp --header "Authorization: Bearer YOUR_API_KEY"

    Replace YOUR_API_KEY with the API key you generated in Step 1.

  3. Configure your AI tool to use MCPH:

    Different AI tools have different setup methods. Here are a few common ones:

    ChatGPT

    In ChatGPT Teams or Enterprise, use the "Configure Custom Integration" feature and add MCPH as a new action with the endpoint https://mcp.mcph.io/mcp

    Claude

    In Claude Pro or Enterprise, navigate to Settings > File & Storage and add MCPH as a remote MCP server with the URL https://mcp.mcph.io/mcp

    Local AI Tools

    Many local AI tools and editors support configuration files. Add this to your config:

    {
      "mcpServers": {
        "mcph": {
          "command": "npx",
          "args": [
            "mcp-remote", 
            "https://mcp.mcph.io/mcp",
            "--header",
            "Authorization: Bearer YOUR_API_KEY"
          ]
        }
      }
    }

Step 3: Create and Share Content

Once connected, you can ask your AI to create and share content via MCPH. For example:

"Create a markdown guide explaining user authentication best practices and share it via MCPH."

The AI will create the content and provide you with a shareable link that looks like:https://mcph.io/crate/abc123

Share this link with anyone - they don't need an account to view the content.

Available MCP Tools

crates_list
List all your crates (metadata, IDs, titles, descriptions, categories, tags, expiration). Supports pagination with limit and startAfter.
Input: { limit?: number, startAfter?: string }
Output: { 
  crates: [{ 
    id: string, 
    title: string, 
    description?: string, 
    category: "markdown" | "code" | "image" | "json" | "binary",
    createdAt: string, 
    mimeType: string,
    size: number,
    tags: string[],
    isPublic: boolean,
    isPasswordProtected: boolean
  }, ...],
  lastCrateId: string,
  hasMore: boolean 
}
crates_get
Retrieve a crate's contents by its ID (text, images, or download link for binaries). Anonymous uploads are public by default.
Input: { id: string, password?: string }
Output: { 
  content: [{ 
    type: "text" | "image", 
    text?: string,          // For text content
    data?: string,          // For image content (base64)
    mimeType?: string       // For images
  }, ...]
}
crates_get_download_link
Generate a pre-signed download URL for a crate (especially for binaries or large files). Download links expire in 24 hours by default.
Input: { id: string, expiresInSeconds?: number }
Output: { url: string, validForSeconds: number }
crates_search
Search your crates using hybrid semantic and text search (title, description, tags, metadata). Results are ranked by relevance.
Input: { query: string }
Output: { 
  crates: [{ 
    id: string, 
    title: string, 
    description?: string, 
    category: "markdown" | "code" | "image" | "json" | "binary",
    createdAt: string, 
    mimeType: string,
    size: number,
    tags: string[],
    isPublic: boolean,
    isPasswordProtected: boolean
  }, ...]
}

Detailed Crates API Documentation

For comprehensive documentation on listing, searching, and retrieving crates, see our dedicated Crates API documentation.

View Crates API Documentation →
crates_upload
Upload a new crate. Small text content is uploaded directly; large/binary files return a pre-signed URL.
Input: { fileName, contentType, data, ... }
Output (binary): { uploadUrl, fileId, gcsPath, message }
Output (text): { crate, message }
crates_share
Update a crate's sharing settings (public/private, password protection).
Input: { id: string, password?: string }
Output: { id, isShared, shareUrl, message }
crates_unshare
Make a crate private by removing all sharing settings.
Input: { id: string }
Output: { message, ... }
crates_delete
Permanently delete a crate's data and metadata. Requires confirmation.
Input: { id: string }
Output: { message }
crates_copy
Copy an existing crate to your collection. Only works with public crates.
Input: { id: string }
Output: { crate, message }

How the MCP Endpoint Works

The MCP endpoint (/api/mcp) is the only supported way to interact with MCPH programmatically. It uses the Model Context Protocol (MCP) over Streamable HTTP for real-time, bidirectional communication.

  1. Connect via Streamable HTTP: Use npx mcp-remote https://mcp.mcph.io/mcp or configure your client to use the endpoint.
  2. Authentication: Pass your API key as a Bearer token in the Authorization header.
  3. Session: On connect, you receive a session ID in the MCP-Session-ID response header. All subsequent requests must include this ID in the MCP-Session-ID header.
  4. Calling Tools: Send JSON-RPC requests to the endpoint. Example for crates/list:
    
    {
      "jsonrpc": "2.0",
      "id": 1,
      "method": "tools/call",
      "params": {
        "name": "crates/list",
        "arguments": {}
      }
    }
    
    The response will be streamed using Streamable HTTP, with content delivered as chunks in the HTTP response.

For more details, see the mcp-remote documentation or the MCP protocol reference.

Using MCPH with AI Assistants

MCPH tools integrate with AI assistants like Claude and ChatGPT to provide seamless file management through natural conversation. You can manage your files without learning commands or APIs—just speak naturally about what you want to do.

Natural Language Commands

Managing Files:

  • "Show me my files" / "List what I have stored"
  • "Find my report about sales" / "Search for meeting notes"
  • "Save this document" / "Store this analysis for me"
  • "Delete that old file" / "Remove the draft version"

Sharing & Access:

  • "Make this public" / "Share this with others"
  • "Give me a shareable link" / "I want to share this document"
  • "Make this private again" / "Stop sharing this file"

Viewing Content:

  • "Show me that document" / "Open my project notes"
  • "What's in that file?" / "Display the contract"

Contextual Understanding

The AI remembers what you're working on within conversations:

User: "Write a meeting summary"

AI: [Creates summary]

User: "Save it"

AI: "I've saved your meeting summary to your files"

User: "Actually, share it with the team"

AI: "Made it public. Here's the link: https://mcph.io/crate/..."

Getting Started with AI Assistants

  1. Connect MCPH to Your AI Assistant

    Follow the setup instructions for your specific AI assistant to connect it with your MCPH account using the API key.

  2. Use Natural Language Commands

    Interact with your AI assistant using simple language - no need to learn special commands.

    "Show my files", "Search for reports", "Share this document", "Delete old files", etc.
  3. Manage Files Seamlessly

    Your AI assistant will handle file management tasks using MCPH, such as storing, sharing, and organizing files.

Key Benefits

  • No learning curve - talk about files naturally
  • Persistent storage - files remain accessible across sessions for 30 days
  • Smart search - AI finds files using keywords and context
  • Instant sharing - generate public links with simple requests
  • Cross-session continuity - reference files from previous conversations
  • Automatic organization - files are tagged with metadata for easy retrieval

Tips for Using MCPH with AI Assistants

  • Be specific with your commands for better accuracy.
  • Use natural language, no need to learn special commands.
  • Remember that files are stored for 30 days by default.