trackmcp
Back to directory
abhishekbhakat

phone-a-friend-mcp-server

View on GitHub

Phone-a-Friend MCP Server

10 stars PythonOthers Updated Mar 18, 2026

Documentation

Phone-a-Friend MCP Server ๐Ÿง ๐Ÿ“ž

An AI-to-AI consultation system that enables one AI to "phone a friend" (another AI) for critical thinking, long context reasoning, and complex problem solving via OpenRouter.

The Problem ๐Ÿค”

Sometimes an AI encounters complex problems that require:

  • Deep critical thinking beyond immediate capabilities
  • Long context reasoning with extensive information
  • Multi-step analysis that benefits from external perspective
  • Specialized expertise from different AI models

The Solution ๏ฟฝ

Phone-a-Friend MCP Server creates a two-step consultation process:

1. Context + Reasoning: Package all relevant context and send to external AI for deep analysis

2. Extract Actionable Insights: Process the reasoning response into usable format for the primary AI

This enables AI systems to leverage other AI models as "consultants" for complex reasoning tasks.

Architecture ๐Ÿ—๏ธ

code
Primary AI โ†’ Phone-a-Friend MCP โ†’ OpenRouter โ†’ External AI (O3, Claude, etc.) โ†’ Processed Response โ†’ Primary AI

Sequential Workflow:

1. `analyze_context` - Gather and structure all relevant context

2. `get_critical_thinking` - Send context to external AI via OpenRouter for reasoning

3. `extract_actionable_insights` - Process response into actionable format

When to Use ๐ŸŽฏ

Ideal for:

  • Complex multi-step problems requiring deep analysis
  • Situations needing long context reasoning (>100k tokens)
  • Cross-domain expertise consultation
  • Critical decision-making with high stakes
  • Problems requiring multiple perspectives

Quick Start โšก

Configure your MCP client (e.g., Claude Desktop) using the JSON block belowโ€”no cloning or manual installation required.

The `uv` runner will automatically download and execute the server package if it isn't present.

Add the following JSON configuration to your MCP client and replace `` with your key:

json
{
  "mcpServers": {
    "phone-a-friend": {
      "command": "uvx",
      "args": [
        "phone-a-friend-mcp-server",
        "--provider", "openai",
        "--api-key", ""
      ]
    }
  }
}

> That's it! You can now use the `phone_a_friend` tool in any compatible client. For more options, see the Advanced Configuration section.

Available Tools ๐Ÿ› ๏ธ

phone_a_friend

๐Ÿ“ž Consult external AI for critical thinking and complex reasoning. Makes API calls to get responses.

fax_a_friend

๐Ÿ“  Generate master prompt file for manual AI consultation. Creates file for copy-paste workflow.

Parameters

*phone_a_friend*

  • `all_related_context` (required): General, non-code context such as constraints, tracebacks, or high-level requirements.
  • `file_list` (required): Array of file paths or glob patterns. Just pass the paths โ€“ the server automatically reads those files (skips anything in `.gitignore` or non-text/binary) and builds the full code context for the external AI.
  • `task` (required): A clear, specific description of what you want the external AI to do.

*fax_a_friend*

  • `all_related_context` (required): Same as above.
  • `file_list` (required): Same as above.
  • `task` (required): Same as above.
  • `output_directory` (required): Directory where the generated `fax_a_friend.md` master prompt file will be saved.

Advanced Configuration ๐Ÿ”ง

This section covers all configuration options, including environment variables, CLI flags, and model selection.

Providers and API Keys

The server can be configured via CLI flags or environment variables.

ProviderCLI FlagEnvironment Variable
OpenAI`--provider openai``OPENAI_API_KEY`
OpenRouter`--provider openrouter``OPENROUTER_API_KEY`
Anthropic`--provider anthropic``ANTHROPIC_API_KEY`
Google`--provider google``GOOGLE_API_KEY`

CLI Example:

bash
phone-a-friend-mcp-server --provider openai --api-key "sk-..."

Environment Variable Example:

bash
export OPENAI_API_KEY="sk-..."
phone-a-friend-mcp-server

Model Selection

You can override the default model for each provider.

ProviderDefault Model
OpenAI`o3`
Anthropic`Claude 4 Opus`
Google`Gemini 2.5 Pro Preview 05-06`
OpenRouter`anthropic/claude-4-opus`

Override with CLI:

bash
phone-a-friend-mcp-server --model "o3"

Override with Environment Variable:

bash
export PHONE_A_FRIEND_MODEL="o3"

Additional Options

FeatureCLI FlagEnvironment VariableDefault
Temperature`--temperature 0.5``PHONE_A_FRIEND_TEMPERATURE``0.4`
Base URL`--base-url ...``PHONE_A_FRIEND_BASE_URL`Provider default

Use Cases ๐ŸŽฏ

1. In-depth Reasoning for Vibe Coding

2. For complex algorithms, data structures, or mathematical computations

3. Frontend Development with React, Vue, CSS, or modern frontend frameworks

License ๐Ÿ“„

MIT License - see LICENSE file for details.

Frequently asked questions

What is phone-a-friend-mcp-server?

phone-a-friend-mcp-server is Phone-a-Friend MCP Server

How do I install phone-a-friend-mcp-server?

Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

Is phone-a-friend-mcp-server open source?

Yes โ€” it is hosted on GitHub at https://github.com/abhishekbhakat/phone-a-friend-mcp-server and has 10 stars.

Related MCP tools

Run your own MCP server? See who uses it and what to fix.

Measure it with TrackMCP