MCP server for Moatdrop — manage secure links from AI assistants
Reason this release was yanked:
deprecated for now
Project description
Moatdrop MCP Server
An MCP (Model Context Protocol) server for Moatdrop — manage secure, trackable links from AI assistants like Claude Desktop, Cursor, and Claude Code.
Installation
pip install moatdrop-mcp
Or run directly with uvx:
uvx moatdrop-mcp
Setup
1. Get an API Key
- Log in to Moatdrop
- Go to Account > API Keys
- Create a new key and copy it
2. Configure Your AI Assistant
Claude Desktop
Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
{
"mcpServers": {
"moatdrop": {
"command": "uvx",
"args": ["moatdrop-mcp"],
"env": {
"MOATDROP_API_KEY": "mdp_your_key_here"
}
}
}
}
Cursor
Add to your Cursor MCP config (.cursor/mcp.json):
{
"mcpServers": {
"moatdrop": {
"command": "uvx",
"args": ["moatdrop-mcp"],
"env": {
"MOATDROP_API_KEY": "mdp_your_key_here"
}
}
}
}
Claude Code
claude mcp add moatdrop -- uvx moatdrop-mcp
Then set the environment variable:
export MOATDROP_API_KEY="mdp_your_key_here"
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
MOATDROP_API_KEY |
Yes | — | Your Moatdrop API key (mdp_...) |
MOATDROP_API_URL |
No | https://api.moatdrop.com |
API base URL (for self-hosted or dev) |
Available Tools
Link Management
| Tool | Description |
|---|---|
create_link |
Create a secure link with URL, expiration, IP rules, click limits |
list_links |
List all your secure links |
get_link |
Get full details of a specific link |
update_link |
Update link name, expiration, click limits |
delete_link |
Permanently delete a link (requires confirm=true) |
enable_link |
Re-enable a revoked link |
disable_link |
Revoke/disable a link |
Document Queries
| Tool | Description |
|---|---|
deep_extraction |
Ask a question and get an AI-synthesized answer from a shared file |
Analytics & Account
| Tool | Description |
|---|---|
get_link_analytics |
Get raw access logs for a link |
get_analytics_summary |
Aggregated analytics: clicks, unique IPs, top countries, referrers |
get_account_info |
Your account details and plan tier |
Available Resources
| URI | Description |
|---|---|
moatdrop://links |
Summary list of all your links |
moatdrop://links/{id} |
Full details for a specific link |
moatdrop://links/{id}/analytics |
Access logs for a specific link |
moatdrop://account |
Your account info |
Querying Files with AI Agents
MoatDrop lets you upload files, create secure links, and then query those files through AI agents using the MCP server. Here's how to set it up end to end.
Step 1: Upload a file and create a secure link
Log in to MoatDrop, click + Create Moat Link, and upload your file (PDF, DOCX, XLSX, etc.). Once created, note the moat link — this is the short code in the secure URL (e.g., if the URL is https://moatdrop.com/l/abc123, the moat link is abc123).
You can find the moat link on the link detail page under Moat Link.
Step 2: Create a share token
Share tokens let you grant someone query-only access to a specific file without sharing your full API key.
- Go to the link detail page for your file
- Expand AI Agent Access > Show Setup
- Under Create Share Token, enter a name (e.g., "For Acme Corp")
- Optionally set an expiration (hours) and max uses
- Click Create Token
- Copy the token (starts with
mds_) — it's shown only once
Step 3: Configure the MCP server
Give the share token to whoever needs to query the file. They add this to their AI assistant config:
Claude Desktop
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"moatdrop": {
"command": "uvx",
"args": ["moatdrop-mcp"],
"env": {
"MOATDROP_API_KEY": "mds_your_share_token_here"
}
}
}
}
Cursor / VS Code
Add to .cursor/mcp.json or VS Code MCP settings:
{
"mcpServers": {
"moatdrop": {
"command": "uvx",
"args": ["moatdrop-mcp"],
"env": {
"MOATDROP_API_KEY": "mds_your_share_token_here"
}
}
}
}
Claude Code
claude mcp add moatdrop -- uvx moatdrop-mcp
Then set the environment variable:
export MOATDROP_API_KEY="mds_your_share_token_here"
Step 4: Query the file
Once connected, ask your AI assistant to query the file using the moat link:
Deep extraction (AI-synthesized answers):
"Use the deep_extraction tool with moat_link
abc123and ask: What are the key findings in this report?"
The tool sends the full document to Gemini in a single call and returns a synthesized answer with PII scrubbed.
Share token vs API key
Share Token (mds_) |
API Key (mdp_) |
|
|---|---|---|
| Scope | Query access to one specific file | Full account access |
| Safe to share | Yes | No |
| Can manage links | No | Yes |
| Can view analytics | No | Yes |
| Expiration | Optional (configurable) | Optional |
| Usage limits | Optional (configurable) | None |
Examples
Once configured, you can ask your AI assistant:
- "Use deep_extraction with hash abc123: What is the executive summary?"
- "Use deep_extraction with hash abc123: What date was the contract signed?"
- "Use deep_extraction with hash abc123: Pull the termination clauses from this contract"
Development
# Clone and install in dev mode
cd mcp-server
pip install -e .
# Run with a local backend
MOATDROP_API_KEY=mdp_test MOATDROP_API_URL=http://localhost:8000 moatdrop-mcp
# Run tests
pip install pytest
pytest tests/
License
MIT
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 moatdrop_mcp-0.3.1.tar.gz.
File metadata
- Download URL: moatdrop_mcp-0.3.1.tar.gz
- Upload date:
- Size: 13.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eeabbd44aac72c55f3fc28bb21ca5d92ce54c91635c179575a6b92fee76370d0
|
|
| MD5 |
f3d4b04471ec146ab20700b90c230e4f
|
|
| BLAKE2b-256 |
0a1a3d0e9e4abf4447363a2249151256d37823ed4abf6f05c84460f916ac4282
|
File details
Details for the file moatdrop_mcp-0.3.1-py3-none-any.whl.
File metadata
- Download URL: moatdrop_mcp-0.3.1-py3-none-any.whl
- Upload date:
- Size: 14.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4065bc27006f8f721ef8bbd6782c5cb35611dc44128b178b4fd8d67741de796c
|
|
| MD5 |
4e0b0958e029c96172f1ca3247e103f0
|
|
| BLAKE2b-256 |
e78878ec48974ebe765acd940ea249c1d76dfecaa1fc801d18b17f2aa10f08ba
|