A scalable MCP server with clean architecture
Project description
Pier Cloud MCP Server
A scalable Model Context Protocol server with clean architecture.
Installation
# Install via pip
pip install piercloud-mcp
# Or via pipx (recommended for CLI tools)
pipx install piercloud-mcp
Quick Start
# Local mode (stdio)
piercloud-mcp
# Production mode (HTTP/SSE)
piercloud-mcp --sse --port 8000
Setup for Claude Desktop
Easy way (recommended):
pipx install piercloud-mcp
piercloud-mcp --install-claude
This will prompt for your credentials and configure Claude automatically.
Manual way:
- Install the package:
pipx install piercloud-mcp
- Find the installation path:
which piercloud-mcp
# Output: /Users/yourname/.local/bin/piercloud-mcp (macOS/Linux)
# or C:\Users\yourname\.local\bin\piercloud-mcp.exe (Windows)
- 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
{
"mcpServers": {
"piercloud": {
"command": "/Users/yourname/.local/bin/piercloud-mcp",
"env": {
"PIERCLOUD_CLIENT_ID": "your-client-id",
"PIERCLOUD_CLIENT_SECRET": "your-client-secret"
}
}
}
}
- Restart Claude Desktop
Production Deployment
Deploy as HTTP server:
# 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)
{
"mcpServers": {
"pier": {
"url": "https://mcp.piercloud.io/mcp/sse"
}
}
}
Adding Tools
Create a new file in src/pier_mcp/tools/ and register:
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:
from pier_mcp.tools.my_tools import register_my_tools
register_my_tools(mcp)
Architecture
server.py- Core MCP server with tool registrytools/- Tool implementations (one file per domain)main.py- Entry point and tool registration
Clean, minimal, scalable.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file piercloud_mcp-0.1.3.tar.gz.
File metadata
- Download URL: piercloud_mcp-0.1.3.tar.gz
- Upload date:
- Size: 11.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.5 CPython/3.13.1 Darwin/25.2.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a45fdc36d051d2b2b67c944f4d3cbda3ba4d15497a99b50ab8d11af174008e86
|
|
| MD5 |
481ab5a7ec0ba9e8dc9754c1e883f952
|
|
| BLAKE2b-256 |
994a2820b62ecb3c6628e14233d8dd494a354f4e628bd6392ab6db9c2cc98a9b
|
File details
Details for the file piercloud_mcp-0.1.3-py3-none-any.whl.
File metadata
- Download URL: piercloud_mcp-0.1.3-py3-none-any.whl
- Upload date:
- Size: 10.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.5 CPython/3.13.1 Darwin/25.2.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b10273f6c30ce0522a446d65fc5f3e547e08c59fdfbfd129d68047e9e5ea691
|
|
| MD5 |
cff9ac268eb4ee1f7e152e87da8e03ed
|
|
| BLAKE2b-256 |
647077d5b627587c06ed5defb96b4ca4111188ac3409109449c9d297249191f2
|