HarborChase of Mandarin

MCP

Code examples

Five ways to do the same thing: connect to https://harborchasereviews.com/mcp, list tools, call get_business, then search the top 5-star reviews.

TypeScript

@modelcontextprotocol/sdk

// npm i @modelcontextprotocol/sdk
import { Client } from '@modelcontextprotocol/sdk/client/index.js';
import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';

const transport = new StreamableHTTPClientTransport(new URL('https://harborchasereviews.com/mcp'));
const client = new Client({ name: 'example-client', version: '1.0.0' });
await client.connect(transport);

// List the available tools
const { tools } = await client.listTools();
console.log(tools.map((t) => t.name));

// Call get_business
const business = await client.callTool({ name: 'get_business', arguments: {} });
console.log(business.content);

// Find the 3 most relevant 5-star reviews
const reviews = await client.callTool({
  name: 'search_reviews',
  arguments: { rating: 5, limit: 3 },
});
console.log(reviews.content);

await client.close();

Python

mcp package

# pip install mcp
import asyncio
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client


async def main():
    async with streamablehttp_client("https://harborchasereviews.com/mcp") as (read, write, _):
        async with ClientSession(read, write) as session:
            await session.initialize()

            # List the available tools
            tools = await session.list_tools()
            print([t.name for t in tools.tools])

            # Call get_business
            business = await session.call_tool("get_business", {})
            print(business.content)

            # Find the 3 most relevant 5-star reviews
            reviews = await session.call_tool(
                "search_reviews", {"rating": 5, "limit": 3}
            )
            print(reviews.content)


asyncio.run(main())

Claude Desktop

claude_desktop_config.json

// ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
// %APPDATA%\\Claude\\claude_desktop_config.json (Windows)
//
// Claude Desktop speaks MCP over stdio, so bridge the remote HTTP
// server with mcp-remote. Restart Claude Desktop after saving.
{
  "mcpServers": {
    "pushbuttonreviews-157226": {
      "command": "npx",
      "args": [
        "mcp-remote",
        "https://harborchasereviews.com/mcp"
      ]
    }
  }
}

cURL

raw JSON-RPC over HTTP

# 1) Initialize a session. The streamable-http transport requires the
#    SSE Accept header and returns a session id in the response headers.
curl -i -X POST 'https://harborchasereviews.com/mcp' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "initialize",
    "params": {
      "protocolVersion": "2025-06-18",
      "capabilities": {},
      "clientInfo": { "name": "curl", "version": "1.0" }
    }
  }'

# 2) Call get_business (pass the Mcp-Session-Id from step 1's response headers).
curl -X POST 'https://harborchasereviews.com/mcp' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -H 'Mcp-Session-Id: <session-id-from-step-1>' \
  -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_business","arguments":{}}}'

# 3) Search the 3 most relevant 5-star reviews.
curl -X POST 'https://harborchasereviews.com/mcp' \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json, text/event-stream' \
  -H 'Mcp-Session-Id: <session-id-from-step-1>' \
  -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"search_reviews","arguments":{"rating":5,"limit":3}}}'

Anthropic API

Messages API mcp_servers

# pip install anthropic
# The Messages API can attach a remote MCP server directly via mcp_servers.
# It connects, lists tools, and calls get_business / search_reviews for you.
import anthropic

client = anthropic.Anthropic()  # reads ANTHROPIC_API_KEY

message = client.beta.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    extra_headers={"anthropic-beta": "mcp-client-2025-04-04"},
    mcp_servers=[
        {
            "type": "url",
            "url": "https://harborchasereviews.com/mcp",
            "name": "pushbuttonreviews-157226",
        }
    ],
    messages=[
        {
            "role": "user",
            "content": "Summarize HarborChase of Mandarin and quote 3 five-star reviews.",
        }
    ],
)
print(message.content)