@orbitlogistics/mcp-plain 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,76 @@
1
+ # @orbitlogistics/mcp-plain
2
+
3
+ MCP server for the [Plain](https://plain.com) customer support platform. Provides tools for managing threads, help center articles, and more via the [Model Context Protocol](https://modelcontextprotocol.io).
4
+
5
+ ## Setup
6
+
7
+ ### With Claude Code
8
+
9
+ Add to your project's `.claude/settings.json`:
10
+
11
+ ```json
12
+ {
13
+ "mcpServers": {
14
+ "plain": {
15
+ "command": "npx",
16
+ "args": ["-y", "@orbitlogistics/mcp-plain@latest"],
17
+ "env": {
18
+ "PLAIN_API_KEY": "${PLAIN_API_KEY}"
19
+ }
20
+ }
21
+ }
22
+ }
23
+ ```
24
+
25
+ Then set `PLAIN_API_KEY` in your shell environment (e.g. `.zshrc`, `.envrc`, or a secrets manager).
26
+
27
+ ### With other MCP clients
28
+
29
+ Run the server directly:
30
+
31
+ ```bash
32
+ PLAIN_API_KEY=plainApiKey_xxx npx @orbitlogistics/mcp-plain@latest
33
+ ```
34
+
35
+ ## Tools
36
+
37
+ > **Note:** This server does not cover the full Plain API — only the endpoints we actively use. If you need additional methods, PRs are welcome!
38
+
39
+ ### Threads
40
+ - `list_threads` - List threads with filters (status, priority, labels, customer, tenant)
41
+ - `get_thread` - Get full thread details by ID (includes timeline)
42
+ - `get_thread_by_ref` - Get thread by reference number (e.g. T-510)
43
+ - `get_thread_fields` - Get custom field values for a thread
44
+ - `create_thread` - Create a new thread (auto-creates customer by email if needed)
45
+ - `reply_to_thread` - Send a reply through the original channel
46
+ - `mark_thread_as_done` - Mark a thread as resolved
47
+ - `upsert_thread_field` - Set/update custom field values
48
+ - `add_internal_note` - Post an internal note (not visible to customer)
49
+ - `add_labels` - Add category labels to a thread
50
+ - `get_label_types` - List available label types
51
+
52
+ ### Attachments
53
+ - `get_attachment_download_url` - Get a temporary download URL
54
+ - `get_attachment_content` - Fetch attachment content (text or base64)
55
+
56
+ ### Help Center
57
+ - `list_help_centers` - List all help centers
58
+ - `get_help_center` - Get help center structure (groups and articles)
59
+ - `list_help_center_articles` - List articles with full content
60
+ - `get_help_center_article` - Get article by ID
61
+ - `get_help_center_article_by_slug` - Get article by URL slug
62
+ - `upsert_help_center_article` - Create or update an article (always saves as DRAFT)
63
+ - `create_help_center_article_group` - Create an article group
64
+ - `delete_help_center_article_group` - Delete an empty article group
65
+
66
+ ## Development
67
+
68
+ ```bash
69
+ pnpm install
70
+ pnpm test
71
+ pnpm build
72
+ ```
73
+
74
+ ## License
75
+
76
+ MIT
@@ -0,0 +1 @@
1
+ #!/usr/bin/env node