shebang-mcp
An MCP server and CLI for hosting pages, sharing files, creating short links, running Postgres databases, and managing API keys through a single shebang.pro account key.
README
shebang-mcp
One MCP server and CLI for hosting pages, sharing files, making short links,
running a Postgres database, and managing API keys — all through a single
shb_… key, for accounts on shebang.pro.
Quickstart
Claude Code:
claude mcp add shebang -- npx -y github:New-Kringster/shebang-mcp
npx -y github:New-Kringster/shebang-mcp login
Any other stdio-based MCP harness, add this server entry:
{
"mcpServers": {
"shebang": {
"command": "npx",
"args": ["-y", "github:New-Kringster/shebang-mcp"]
}
}
}
then run npx -y github:New-Kringster/shebang-mcp login once from a
terminal on the same machine (or set SHEBANG_API_KEY directly — see
Env vars).
npm registry publish is planned but not live yet — install via the GitHub shorthand above until then.
The login flow
login starts a device-authorization flow against the shebang platform:
- The CLI calls the platform, gets back a short code and a verify URL, and prints both — then tries to open your browser to that URL automatically.
- In the browser, you sign in to your shebang.pro account (if not already) and see a page showing the device name and the same code the terminal printed — check they match, then click Approve (or Deny).
- The CLI has been polling in the background; once approved, it writes the
issued key to
~/.config/shebang/credentials.json(mode0600) and prints the key's prefix.
From then on, every harness on that machine that runs this server picks the key up automatically — no per-project configuration.
$ npx -y github:New-Kringster/shebang-mcp login
Confirm this code in your browser:
x 7 w y 6 x 3 a
https://dash.shebang.pro/authorize-agent?code=x7wy6x3a
Opening your browser… (if nothing opens, visit the URL above)
Waiting for approval....
Logged in. Key: shb_examplexxxxxxxx… (master)
Saved to ~/.config/shebang/credentials.json
Your agent can now use shebang.
shebang-mcp status shows the current key's prefix and tier;
shebang-mcp logout deletes the local credentials file (it does not
revoke the key — see below).
Key tiers
- Master — what
loginmints. Full authority over the account: every app, plus minting and revoking other keys. One master key per login. - App — scoped to a subset of
page,serve,link,base. Mint one for a sub-agent via thekey_create_apptool so it only gets the access it needs; the plaintext key is shown exactly once in the response.
A key cannot revoke itself while it's the one authenticating the call —
revoke a key from a different key (usually the master that minted it, via
the key_revoke tool) or from the shebang.pro dashboard's account page.
shebang-mcp logout only forgets the key locally; it prints this same
reminder.
Tool reference
Pages (sherpage)
| Tool | What it does |
|---|---|
sherpage_publish |
Publish a new page from a bundle of files |
sherpage_list |
List your pages |
sherpage_get |
Get one page's details |
sherpage_update |
Update title/slug/expiry/view budget |
sherpage_set_access |
Change access level (private/password/allow-list/public) |
sherpage_archive |
Archive or restore a page |
sherpage_delete |
Permanently delete a page and its files |
Files (sherserve)
| Tool | What it does |
|---|---|
store_upload_file |
Upload a local file as a new object |
store_list_objects |
List your uploaded objects |
store_get_object |
Get one object's details by slug or id |
store_delete_object |
Permanently delete an object and its file |
Short links (sherlink)
| Tool | What it does |
|---|---|
link_list |
List all your short links across apps |
link_get |
Get one link's details by code, alias, or id |
link_set_access |
Change access, password, expiry, or view budget |
link_set_alias |
Set or clear a custom vanity alias |
link_delete |
Delete a link and the page/file it wraps — irreversible |
Databases (sherbase)
| Tool | What it does |
|---|---|
base_create_project |
Provision a new Postgres project (database + role) |
base_list_projects |
List your database projects |
base_run_sql |
Run one SQL statement against a project |
base_drop_project |
Permanently drop a project — irreversible |
Keys (master-only)
| Tool | What it does |
|---|---|
key_create_app |
Mint a scoped app key, typically for a sub-agent |
key_list |
List every key on the account (never hashes or plaintext) |
key_revoke |
Permanently revoke a key by id — irreversible |
OAuth (master-only)
| Tool | What it does |
|---|---|
oauth_list_clients |
List registered sherlock OAuth clients |
oauth_create_client |
Register a new OAuth client (returns a one-time secret) |
Env vars
| Variable | Purpose |
|---|---|
SHEBANG_API_KEY |
The shb_… key to authenticate with. Takes priority over the credentials file. SHERPAGE_API_KEY is accepted as a legacy alias for the same value. |
SHEBANG_BASE_URL |
Platform base URL; defaults to https://dash.shebang.pro. |
~/.config/shebang/credentials.json |
Written by login ({ api_key, base_url }, mode 0600); read when the env vars above are unset. |
The platform
The MCP server and CLI in this repo are a client only — no secrets, no server code, nothing that talks to a database directly. The platform itself (accounts, keys, pages, files, links, databases, OAuth) is operated at shebang.pro; an account there is required to use this client.
License
MIT — see LICENSE.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。