Metadata-Version: 2.1
Name: piercloud-mcp
Version: 0.1.2
Summary: A scalable MCP server with clean architecture
Home-page: https://github.com/piercloud/piercloud-mcp
License: MIT
Keywords: mcp,model-context-protocol,ai,llm
Author: Pier Team
Author-email: engineering@piercloud.com
Requires-Python: >=3.10,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: httpx (>=0.27.0,<0.28.0)
Requires-Dist: mcp (>=1.0.0,<2.0.0)
Requires-Dist: pydantic (>=2.0.0,<3.0.0)
Requires-Dist: starlette (>=0.37.0,<0.38.0)
Requires-Dist: uvicorn (>=0.30.0,<0.31.0)
Project-URL: Repository, https://github.com/piercloud/piercloud-mcp
Description-Content-Type: text/markdown

# Pier Cloud MCP Server

A scalable Model Context Protocol server with clean architecture.

## Installation

```bash
# Install via pip
pip install piercloud-mcp

# Or via pipx (recommended for CLI tools)
pipx install piercloud-mcp
```

## Quick Start

```bash
# Local mode (stdio)
piercloud-mcp

# Production mode (HTTP/SSE)
piercloud-mcp --sse --port 8000
```

## Setup for Claude Desktop

**Easy way** (recommended):

```bash
pipx install piercloud-mcp
piercloud-mcp --install-claude
```

This will prompt for your credentials and configure Claude automatically.

**Manual way**:

1. Install the package:

```bash
pipx install piercloud-mcp
```

2. Find the installation path:

```bash
which piercloud-mcp
# Output: /Users/yourname/.local/bin/piercloud-mcp (macOS/Linux)
# or C:\Users\yourname\.local\bin\piercloud-mcp.exe (Windows)
```

3. Add to Claude config with the **full path**:

**macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
**Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
**Linux**: `~/.config/Claude/claude_desktop_config.json`

```json
{
  "mcpServers": {
    "piercloud": {
      "command": "/Users/yourname/.local/bin/piercloud-mcp",
      "env": {
        "PIERCLOUD_CLIENT_ID": "your-client-id",
        "PIERCLOUD_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}
```

4. Restart Claude Desktop

## Production Deployment

Deploy as HTTP server:

```bash
# Run server
piercloud-mcp --sse --port 8000

# With custom host
piercloud-mcp --sse --host 0.0.0.0 --port 8000
```

### Remote MCP Server (Claude, Cline, etc)

```json
{
  "mcpServers": {
    "pier": {
      "url": "https://mcp.piercloud.io/mcp/sse"
    }
  }
}
```

## Adding Tools

Create a new file in `src/pier_mcp/tools/` and register:

```python
from pydantic import BaseModel, Field

class MyToolInput(BaseModel):
    param: str = Field(description="Parameter description")

def register_my_tools(mcp):
    @mcp.tool("my_tool", "Tool description", MyToolInput)
    async def my_tool(args: MyToolInput) -> str:
        return f"Result: {args.param}"
```

Then import in `main.py`:

```python
from pier_mcp.tools.my_tools import register_my_tools
register_my_tools(mcp)
```

## Architecture

- `server.py` - Core MCP server with tool registry
- `tools/` - Tool implementations (one file per domain)
- `main.py` - Entry point and tool registration

Clean, minimal, scalable.

