Ryan Malloy a9441f6761 Update hosted MCP server URL to mcwaddams.l.supported.systems
Fix URLs in hosted-mcp.mdx to point to the correct deployed hostname.
2026-01-17 02:00:13 -07:00

177 lines
4.4 KiB
Plaintext

---
title: Connect to Hosted Server
description: Use mcwaddams without installing anything locally.
---
import { Aside, Code, Tabs, TabItem, Card, CardGrid } from '@astrojs/starlight/components';
> *"I was told there would be no installation..."*
Don't want to install anything? Connect to our hosted mcwaddams server via HTTP.
## Quick Connect
<Tabs>
<TabItem label="Claude Code">
```bash
claude mcp add mcwaddams-hosted --transport http "https://mcwaddams.l.supported.systems/mcp"
```
</TabItem>
<TabItem label="MCP Settings JSON">
```json
{
"mcpServers": {
"mcwaddams": {
"transport": {
"type": "streamable-http",
"url": "https://mcwaddams.l.supported.systems/mcp"
}
}
}
}
```
</TabItem>
<TabItem label="Python SDK">
```python
from mcp import ClientSession
from mcp.client.streamable_http import streamable_http_client
async with streamable_http_client("https://mcwaddams.l.supported.systems/mcp") as (read, write):
async with ClientSession(read, write) as session:
await session.initialize()
tools = await session.list_tools()
print(f"Connected! {len(tools.tools)} tools available")
```
</TabItem>
</Tabs>
<Aside type="tip" title="No API Key Required">
The hosted server is currently free and open. No authentication needed.
</Aside>
## What's Available
All 20+ mcwaddams tools are available via the hosted server:
<CardGrid>
<Card title="Document Extraction" icon="document">
Extract text, images, metadata from Word, Excel, PowerPoint
</Card>
<Card title="Legacy Support" icon="puzzle">
Process `.doc`, `.xls`, `.ppt` files from the 90s
</Card>
<Card title="MCP Resources" icon="list-format">
Index documents and fetch chapters/sheets on demand
</Card>
<Card title="Smart Fallbacks" icon="rocket">
Multiple extraction methods with automatic fallback
</Card>
</CardGrid>
## Hosted vs Local
| Feature | Hosted | Local (uvx) |
|---------|--------|-------------|
| Installation | None | `uvx mcwaddams` |
| File Access | URL only | Local + URL |
| Speed | Network latency | Instant |
| Privacy | Files processed on server | Files stay local |
| Availability | Requires internet | Works offline |
<Aside type="caution" title="Privacy Note">
When using the hosted server, your documents are transmitted to and processed on our server. For sensitive documents, use the local installation instead.
</Aside>
## Using with URLs
The hosted server can process documents from URLs directly:
```python
# Extract text from a public document
result = await session.call_tool("extract_text", {
"file_path": "https://example.com/report.docx"
})
```
This is particularly useful for processing documents already hosted online.
## Self-Hosting
Want the convenience of HTTP without using our server? Self-host your own:
### Docker Compose
```yaml
services:
mcwaddams:
image: ghcr.io/ryanmalloy/mcwaddams:latest
environment:
- MCP_TRANSPORT=streamable-http
- MCP_HOST=0.0.0.0
- MCP_PORT=8000
ports:
- "8000:8000"
```
### With Caddy Reverse Proxy
Clone the repo and use our docker-compose with caddy-docker-proxy labels:
```bash
git clone https://github.com/ryanmalloy/mcwaddams.git
cd mcwaddams
cp .env.example .env
# Edit .env to set your hostname
make docker-up
```
Your server will be available at `https://your-domain.com/mcp`
### Local Development
Run HTTP mode locally without Docker:
```bash
# Install
pip install mcwaddams
# Run with HTTP transport
MCP_TRANSPORT=streamable-http MCP_HOST=127.0.0.1 MCP_PORT=8000 python -m mcwaddams.server
```
Or with uv:
```bash
MCP_TRANSPORT=streamable-http MCP_HOST=127.0.0.1 MCP_PORT=8000 uvx mcwaddams
```
## Troubleshooting
### Connection Refused
```
Error: Connection refused
```
The server may be temporarily down. Try:
1. Check server status at https://status.supported.systems
2. Fall back to local installation: `uvx mcwaddams`
### Timeout Errors
Large documents may take longer to process. The hosted server has a 60-second timeout per request.
For very large documents, consider:
- Using local installation
- Processing documents in chunks via pagination
### SSL/TLS Errors
Ensure you're using `https://` not `http://`. The hosted server requires TLS.
---
<div style="text-align: center; margin-top: 2rem; font-style: italic; opacity: 0.7;">
*"So if you could just go ahead and connect... that would be great."*
</div>