Skip to content

Commit 9aca818

Browse files
committed
Command named after the package (uvx <package> mcp), mcp-name marker for the MCP Registry
1 parent 90b994b commit 9aca818

3 files changed

Lines changed: 9 additions & 8 deletions

File tree

‎README.md‎

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Substack API and MCP server, self-hosted
22

3+
<!-- mcp-name: dev.cotlet/substack -->
4+
35
A **Substack API** and a **Substack MCP server** you run on your own computer, in Python, on the session of your own Google Chrome. All 50 Substack tools we run in production at [Cotlet](https://cotlet.dev/integrations/substack-api-mcp-server): posts and drafts from Markdown, publishing and scheduling, Notes, comments, subscribers, stats, recommendations and direct messages.
46

57
Substack has no public API to write posts, publish Notes or manage subscribers, and no official MCP server. This repo gives you both:
@@ -19,7 +21,7 @@ It is for technical people who want to run it themselves, **for noncommercial us
1921
uv tool install substack-api-mcp # or: pip install substack-api-mcp
2022
substack-mcp connect # reads your Substack session from Chrome
2123
substack-mcp call list_posts
22-
claude mcp add substack -- uvx --from substack-api-mcp substack-mcp mcp
24+
claude mcp add substack -- uvx substack-api-mcp mcp
2325
```
2426

2527
## Contents
@@ -69,7 +71,7 @@ uv tool install substack-api-mcp # or: pipx install substack-api-mcp, or:
6971
substack-mcp --version
7072
```
7173

72-
MCP clients can also run it with no install: `uvx --from substack-api-mcp substack-mcp mcp`.
74+
MCP clients can also run it with no install: `uvx substack-api-mcp mcp`.
7375

7476
From source:
7577

@@ -153,9 +155,9 @@ The MCP server lists every tool with its input schema, a description written for
153155
### Claude Code
154156

155157
```bash
156-
claude mcp add substack -- uvx --from substack-api-mcp substack-mcp mcp
158+
claude mcp add substack -- uvx substack-api-mcp mcp
157159
# read only:
158-
claude mcp add substack -- uvx --from substack-api-mcp substack-mcp mcp --read-only
160+
claude mcp add substack -- uvx substack-api-mcp mcp --read-only
159161
```
160162

161163
### Claude Desktop
@@ -167,7 +169,7 @@ claude mcp add substack -- uvx --from substack-api-mcp substack-mcp mcp --read-o
167169
"mcpServers": {
168170
"substack": {
169171
"command": "uvx",
170-
"args": ["--from", "substack-api-mcp", "substack-mcp", "mcp"]
172+
"args": ["substack-api-mcp", "mcp"]
171173
}
172174
}
173175
}
@@ -184,7 +186,7 @@ claude mcp add substack -- uvx --from substack-api-mcp substack-mcp mcp --read-o
184186
```toml
185187
[mcp_servers.substack]
186188
command = "uvx"
187-
args = ["--from", "substack-api-mcp", "substack-mcp", "mcp"]
189+
args = ["substack-api-mcp", "mcp"]
188190
```
189191

190192
### Over HTTP

‎mcp.json‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,7 @@
33
"substack": {
44
"command": "uvx",
55
"args": [
6-
"--from",
76
"substack-api-mcp",
8-
"substack-mcp",
97
"mcp"
108
]
119
}

‎pyproject.toml‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ Source = "https://github.com/cotletdev/substack-api-mcp-server"
2424

2525
[project.scripts]
2626
substack-mcp = "substack_api_mcp.cli:main"
27+
substack-api-mcp = "substack_api_mcp.cli:main"
2728

2829
[build-system]
2930
requires = ["hatchling>=1.27"]

0 commit comments

Comments
 (0)