Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Crawler Summary
Model Context Protocol server for Drafts app on macOS via AppleScript. Drafts MCP Server A $1 (MCP) server that enables AI assistants to interact with the $1 app on macOS through AppleScript. For additional discussion of uses, see $1 Features - ๐ **Draft Management**: Create, read, update, and search drafts - ๐ท๏ธ **Tags**: Add and manage tags on drafts - ๐ **Workspaces**: List and query drafts from specific workspaces - โก **Actions**: Run Drafts actions programmatically - ๐ **Search* Published capability contract available. No trust telemetry is available yet. 10 GitHub stars reported by the source. Last updated 2/24/2026.
Freshness
Last checked 2/22/2026
Best For
Contract is available with explicit auth and schema references.
Not Ideal For
@agiletortoise/drafts-mcp-server is not ideal for teams that need stronger public trust telemetry, lower setup complexity, or more explicit contract coverage before production rollout.
Evidence Sources Checked
editorial-content, capability-contract, runtime-metrics, public facts pack
Model Context Protocol server for Drafts app on macOS via AppleScript. Drafts MCP Server A $1 (MCP) server that enables AI assistants to interact with the $1 app on macOS through AppleScript. For additional discussion of uses, see $1 Features - ๐ **Draft Management**: Create, read, update, and search drafts - ๐ท๏ธ **Tags**: Add and manage tags on drafts - ๐ **Workspaces**: List and query drafts from specific workspaces - โก **Actions**: Run Drafts actions programmatically - ๐ **Search*
Public facts
7
Change events
1
Artifacts
0
Freshness
Feb 22, 2026
Published capability contract available. No trust telemetry is available yet. 10 GitHub stars reported by the source. Last updated 2/24/2026.
Trust score
Unknown
Compatibility
MCP
Freshness
Feb 22, 2026
Vendor
Agiletortoise
Artifacts
0
Benchmarks
0
Last release
1.0.5
Key links, install path, and a quick operational read before the deeper crawl record.
Summary
Published capability contract available. No trust telemetry is available yet. 10 GitHub stars reported by the source. Last updated 2/24/2026.
Setup snapshot
git clone https://github.com/agiletortoise/drafts-mcp-server.gitSetup complexity is MEDIUM. Standard integration tests and API key provisioning are required before connecting this to production workloads.
Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Everything public we have scraped or crawled about this agent, grouped by evidence type with provenance.
Vendor
Agiletortoise
Protocol compatibility
MCP
Auth modes
mcp, api_key
Machine-readable schemas
OpenAPI or schema references published
Adoption signal
10 GitHub stars
Handshake status
UNKNOWN
Crawlable docs
6 indexed pages on the official domain
Merged public release, docs, artifact, benchmark, pricing, and trust refresh events.
Extracted files, examples, snippets, parameters, dependencies, permissions, and artifact metadata.
Extracted files
0
Examples
6
Snippets
0
Languages
typescript
bash
brew install node
bash
npx @agiletortoise/drafts-mcp-server
bash
npm install -g @agiletortoise/drafts-mcp-server
bash
# Clone or extract the package cd drafts-mcp-server # Install dependencies npm install # Build npm run build # Test with MCP Inspector npm run inspector # Or run directly node dist/index.js
bash
brew install node
json
{
"mcpServers": {
"drafts": {
"command": "npx",
"args": ["@agiletortoise/drafts-mcp-server"]
}
}
}Full documentation captured from public sources, including the complete README when available.
Docs source
GITHUB MCP
Editorial quality
ready
Model Context Protocol server for Drafts app on macOS via AppleScript. Drafts MCP Server A $1 (MCP) server that enables AI assistants to interact with the $1 app on macOS through AppleScript. For additional discussion of uses, see $1 Features - ๐ **Draft Management**: Create, read, update, and search drafts - ๐ท๏ธ **Tags**: Add and manage tags on drafts - ๐ **Workspaces**: List and query drafts from specific workspaces - โก **Actions**: Run Drafts actions programmatically - ๐ **Search*
A Model Context Protocol (MCP) server that enables AI assistants to interact with the Drafts app on macOS through AppleScript.
For additional discussion of uses, see the Drafts forum
You will need to have Node installed on your Mac so make the npx command available. If you do not already have Node installed, you can do so with Homebrew using:
brew install node
Once published, use with npx - no installation needed:
npx @agiletortoise/drafts-mcp-server
npm install -g @agiletortoise/drafts-mcp-server
Before publishing, test locally:
# Clone or extract the package
cd drafts-mcp-server
# Install dependencies
npm install
# Build
npm run build
# Test with MCP Inspector
npm run inspector
# Or run directly
node dist/index.js
The easiest way to use this MCP with the Claude Desktop app by installing the MCPB version. To do so:
Settings > ExtensionsWe are likely to submit this project to the Claude extension directory soon to make it available directly in the app.
If you prefer to install locally, or run via npm, these instructions are for you...
You will need to have Node installed on your Mac so make the npx command available. If you do not already have Node installed, you can do so with Homebrew using:
brew install node
Add the below to the Claude Desktop confguration file (~/Library/Application Support/Claude/claude_desktop_config.json), and relaunch Claude.
{
"mcpServers": {
"drafts": {
"command": "npx",
"args": ["@agiletortoise/drafts-mcp-server"]
}
}
}
For local development/testing (before publishing), use:
{
"mcpServers": {
"drafts": {
"command": "node",
"args": ["/absolute/path/to/drafts-mcp-server/dist/index.js"]
}
}
}
Or if globally installed:
{
"mcpServers": {
"drafts": {
"command": "drafts-mcp-server"
}
}
}
After publishing to npm, add to your Cursor MCP settings (.cursor/mcp.json in your project or global settings):
{
"mcpServers": {
"drafts": {
"command": "npx",
"args": ["@agiletortoise/drafts-mcp-server"]
}
}
}
For local development/testing, use:
{
"mcpServers": {
"drafts": {
"command": "node",
"args": ["/absolute/path/to/drafts-mcp-server/dist/index.js"]
}
}
}
Claude Code (the CLI tool) can be configured using the /mcp command or by editing the settings file directly.
Using the CLI:
claude mcp add drafts -- npx @agiletortoise/drafts-mcp-server
For local development/testing, use:
claude mcp add drafts -- node /absolute/path/to/drafts-mcp-server/dist/index.js
After adding, restart Claude Code or start a new session for the MCP server to be available.
The first time the server runs, macOS will ask for permissions:
drafts_list_workspacesList all workspaces in Drafts.
// No parameters required
drafts_get_draftsGet drafts with flexible filtering by content, folder, tag, flagged status, and dates.
{
query?: string; // Optional: Query string to filter drafts
folder?: inbox, archive, trash // Optional: Limit to one folder
tag: string // Optional: Limit by assigned tag
}
drafts_create_draftCreate a new draft with content and optional tags.
{
content: string; // Required: Draft content
tags?: string[]; // Optional: Array of tag names
flagged?: boolean; // Optional: Flag the draft
}
drafts_get_draftRetrieve a specific draft by UUID.
{
uuid: string; // Required: UUID of the draft
}
drafts_update_draftUpdate the content of an existing draft.
{
uuid: string; // Required: UUID of the draft
content: string; // Required: New content
}
drafts_searchSearch for drafts across all workspaces.
{
query: string; // Required: Search query
}
drafts_add_tagsAdd tags to an existing draft.
{
uuid: string; // Required: UUID of the draft
tags: string[]; // Required: Array of tag names to add
}
drafts_list_actionsList all available Drafts actions.
// No parameters required
drafts_run_actionRun a Drafts action on a specific draft.
{
draftUuid: string; // Required: UUID of the draft
actionName: string; // Required: Name of the action to run
}
drafts_flagFlag or unflag a draft.
{
uuid: string; // Required: UUID of the draft
flagged: boolean; // Required: true to flag, false to unflag
}
drafts_archiveArchive a draft.
{
uuid: string; // Required: UUID of the draft to archive
}
drafts_trashMove a draft to trash.
{
uuid: string; // Required: UUID of the draft to trash
}
Here are some example prompts you can use with Claude or other AI assistants:
"Show me all my workspaces in Drafts"
"Get all drafts from my 'Work' workspace"
"Create a new draft with the content 'Meeting notes for Q1 planning'"
"Search for drafts containing 'budget'"
"Create a draft with content 'Todo: Review PR #123' and tag it with 'work' and 'urgent'"
"Find the draft about the marketing campaign and run the 'Send to Email' action on it"
"Flag all drafts in my Inbox workspace that contain 'follow up'"
"Archive all drafts tagged 'completed'"
"Get all drafts from my 'Daily Notes' workspace from the last week,
then create a summary draft tagged 'weekly-review'"
"Search for all drafts tagged 'meeting-notes', extract action items,
and create a new draft with all the action items combined"
# Clone the repository
git clone https://github.com/agiletortoise/drafts-mcp-server.git
cd drafts-mcp-server
# Install dependencies
npm install
# Build
npm run build
# Test with MCP Inspector
npm run inspector
drafts-mcp-server/
โโโ src/
โ โโโ index.ts # Main MCP server implementation
โ โโโ drafts.ts # Drafts-specific operations
โ โโโ applescript.ts # AppleScript execution utilities
โโโ dist/ # Compiled JavaScript (generated)
โโโ package.json
โโโ tsconfig.json
โโโ README.md
Use the MCP Inspector to test the server:
npm run inspector
This opens a web interface where you can test each tool interactively.
Make sure you've spelled the workspace name exactly as it appears in Drafts. Workspace names are case-sensitive.
osascript -e 'tell application "Drafts" to get name of first workspace'
This might indicate that AppleScript dictionary access isn't working. Check that:
Contributions are welcome! Please feel free to submit a Pull Request.
git checkout -b feature/amazing-feature)git commit -m 'Add some amazing feature')git push origin feature/amazing-feature)MIT License - see the LICENSE file for details.
Machine endpoints, protocol fit, contract coverage, invocation examples, and guardrails for agent-to-agent use.
Contract coverage
Status
ready
Auth
mcp, api_key
Streaming
No
Data region
global
Protocol support
Requires: mcp, lang:typescript
Forbidden: none
Guardrails
Operational confidence: medium
curl -s "https://xpersona.co/api/v1/agents/mcp-agiletortoise-drafts-mcp-server/snapshot"
curl -s "https://xpersona.co/api/v1/agents/mcp-agiletortoise-drafts-mcp-server/contract"
curl -s "https://xpersona.co/api/v1/agents/mcp-agiletortoise-drafts-mcp-server/trust"
Trust and runtime signals, benchmark suites, failure patterns, and practical risk constraints.
Trust signals
Handshake
UNKNOWN
Confidence
unknown
Attempts 30d
unknown
Fallback rate
unknown
Runtime metrics
Observed P50
unknown
Observed P95
unknown
Rate limit
unknown
Estimated cost
unknown
Every public screenshot, visual asset, demo link, and owner-provided destination tied to this agent.
Neighboring agents from the same protocol and source ecosystem for comparison and shortlist building.
Rank
83
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
80
A Model Context Protocol (MCP) server for GitLab
Traction
No public download signal
Freshness
Updated 2d ago
Rank
74
Expose OpenAPI definition endpoints as MCP tools using the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Rank
72
An actix_web backend for the official Rust SDK for the Model Context Protocol (https://github.com/modelcontextprotocol/rust-sdk)
Traction
No public download signal
Freshness
Updated 2d ago
Contract JSON
{
"contractStatus": "ready",
"authModes": [
"mcp",
"api_key"
],
"requires": [
"mcp",
"lang:typescript"
],
"forbidden": [],
"supportsMcp": true,
"supportsA2a": false,
"supportsStreaming": false,
"inputSchemaRef": "https://github.com/agiletortoise/drafts-mcp-server#input",
"outputSchemaRef": "https://github.com/agiletortoise/drafts-mcp-server#output",
"dataRegion": "global",
"contractUpdatedAt": "2026-02-24T19:45:41.103Z",
"sourceUpdatedAt": "2026-02-24T19:45:41.103Z",
"freshnessSeconds": 4435290
}Invocation Guide
{
"preferredApi": {
"snapshotUrl": "https://xpersona.co/api/v1/agents/mcp-agiletortoise-drafts-mcp-server/snapshot",
"contractUrl": "https://xpersona.co/api/v1/agents/mcp-agiletortoise-drafts-mcp-server/contract",
"trustUrl": "https://xpersona.co/api/v1/agents/mcp-agiletortoise-drafts-mcp-server/trust"
},
"curlExamples": [
"curl -s \"https://xpersona.co/api/v1/agents/mcp-agiletortoise-drafts-mcp-server/snapshot\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-agiletortoise-drafts-mcp-server/contract\"",
"curl -s \"https://xpersona.co/api/v1/agents/mcp-agiletortoise-drafts-mcp-server/trust\""
],
"jsonRequestTemplate": {
"query": "summarize this repo",
"constraints": {
"maxLatencyMs": 2000,
"protocolPreference": [
"MCP"
]
}
},
"jsonResponseTemplate": {
"ok": true,
"result": {
"summary": "...",
"confidence": 0.9
},
"meta": {
"source": "GITHUB_MCP",
"generatedAt": "2026-04-17T03:47:11.605Z"
}
},
"retryPolicy": {
"maxAttempts": 3,
"backoffMs": [
500,
1500,
3500
],
"retryableConditions": [
"HTTP_429",
"HTTP_503",
"NETWORK_TIMEOUT"
]
}
}Trust JSON
{
"status": "unavailable",
"handshakeStatus": "UNKNOWN",
"verificationFreshnessHours": null,
"reputationScore": null,
"p95LatencyMs": null,
"successRate30d": null,
"fallbackRate": null,
"attempts30d": null,
"trustUpdatedAt": null,
"trustConfidence": "unknown",
"sourceUpdatedAt": null,
"freshnessSeconds": null
}Capability Matrix
{
"rows": [
{
"key": "MCP",
"type": "protocol",
"support": "supported",
"confidenceSource": "contract",
"notes": "Confirmed by capability contract"
},
{
"key": "mcp",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "model-context-protocol",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "drafts",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "applescript",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "macos",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "automation",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "ai",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
},
{
"key": "cli",
"type": "capability",
"support": "supported",
"confidenceSource": "profile",
"notes": "Declared in agent profile metadata"
}
],
"flattenedTokens": "protocol:MCP|supported|contract capability:mcp|supported|profile capability:model-context-protocol|supported|profile capability:drafts|supported|profile capability:applescript|supported|profile capability:macos|supported|profile capability:automation|supported|profile capability:ai|supported|profile capability:cli|supported|profile"
}Facts JSON
[
{
"factKey": "docs_crawl",
"category": "integration",
"label": "Crawlable docs",
"value": "6 indexed pages on the official domain",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "MCP",
"href": "https://xpersona.co/api/v1/agents/mcp-agiletortoise-drafts-mcp-server/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-agiletortoise-drafts-mcp-server/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:45:41.103Z",
"isPublic": true
},
{
"factKey": "auth_modes",
"category": "compatibility",
"label": "Auth modes",
"value": "mcp, api_key",
"href": "https://xpersona.co/api/v1/agents/mcp-agiletortoise-drafts-mcp-server/contract",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-agiletortoise-drafts-mcp-server/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:45:41.103Z",
"isPublic": true
},
{
"factKey": "schema_refs",
"category": "artifact",
"label": "Machine-readable schemas",
"value": "OpenAPI or schema references published",
"href": "https://github.com/agiletortoise/drafts-mcp-server#input",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-agiletortoise-drafts-mcp-server/contract",
"sourceType": "contract",
"confidence": "high",
"observedAt": "2026-02-24T19:45:41.103Z",
"isPublic": true
},
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Agiletortoise",
"href": "https://github.com/agiletortoise/drafts-mcp-server#readme",
"sourceUrl": "https://github.com/agiletortoise/drafts-mcp-server#readme",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-24T19:43:14.176Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "10 GitHub stars",
"href": "https://github.com/agiletortoise/drafts-mcp-server",
"sourceUrl": "https://github.com/agiletortoise/drafts-mcp-server",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-02-24T19:43:14.176Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://xpersona.co/api/v1/agents/mcp-agiletortoise-drafts-mcp-server/trust",
"sourceUrl": "https://xpersona.co/api/v1/agents/mcp-agiletortoise-drafts-mcp-server/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
]Change Events JSON
[
{
"eventType": "docs_update",
"title": "Docs refreshed: Sign in to GitHub ยท GitHub",
"description": "Fresh crawlable documentation was indexed for the official domain.",
"href": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceUrl": "https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fopenclaw%2Fskills%2Ftree%2Fmain%2Fskills%2Fasleep123%2Fcaldav-calendar",
"sourceType": "search_document",
"confidence": "medium",
"observedAt": "2026-04-15T05:03:46.393Z",
"isPublic": true
}
]Sponsored
Ads related to @agiletortoise/drafts-mcp-server and adjacent AI workflows.