Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Secure, expiring artifact storage and handoff for AI agents.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
AISPACE_KEY, AISPACE_URL, AISPACE_ALLOWED_ROOTS「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"aispace": {
"command": "npx",
"args": [
"-y",
"@aispace-sh/cli",
"mcp",
"serve"
],
"env": {
"AISPACE_KEY": "your-value",
"AISPACE_URL": "your-value",
"AISPACE_ALLOWED_ROOTS": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add aispace --env AISPACE_KEY=your-value --env AISPACE_URL=your-value --env AISPACE_ALLOWED_ROOTS=your-value -- npx -y @aispace-sh/cli mcp serve動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"aispace": {
"command": "npx",
"args": [
"-y",
"@aispace-sh/cli",
"mcp",
"serve"
],
"env": {
"AISPACE_KEY": "your-value",
"AISPACE_URL": "your-value",
"AISPACE_ALLOWED_ROOTS": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"aispace": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@aispace-sh/cli",
"mcp",
"serve"
],
"env": {
"AISPACE_KEY": "your-value",
"AISPACE_URL": "your-value",
"AISPACE_ALLOWED_ROOTS": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
AISPACE_URL envAISPACE_ALLOWED_ROOTS envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名はドメイン aispace.sh で確認済みです(レジストリがドメインの所有を確認しています)
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:AISPACE_KEY
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.4.1)がレジストリに届いたのは2 か月前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。
同じカテゴリには:Spec Driven Development, Remote Desktop Commander, topo^alpin
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Avalanche bulletins and mountain weather forecasts for any place in the Alps.
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
aispace
Secure temporary file sharing for AI agents and humans.
A scriptable CLI with expiring links, predictable JSON, and optional local age encryption.
Website · Documentation
aispace.sh is a bot-friendly file drop for outputs that are too large, structured, or temporary for chat. The open-source client is deliberately easy to automate: one binary, stable exit codes, streaming uploads, and share URLs printed on a predictable final line.
Sealed transfers, agent identities, device pairing, and adaptive durable-first intent are experimental surfaces. Ordinary uploads and durable R2 storage continue to work alongside them.
The hosted service is operated separately. This repository contains the client, agent skill, and integration examples—not the server, billing system, deployment configuration, or customer data.
Install the latest release:
curl -fsSL https://aispace.sh/install.sh | sh
Authenticate with a key created in the aispace dashboard, then store a file:
aispace login --key ask_...
aispace upload report.pdf --json
On a Pro account, add a separately expiring public handoff:
aispace upload report.pdf --link --link-expires 1h --max-downloads 1
The URL is printed last on its own line, making it easy for an agent or shell script to capture. Add --json for a stable machine-readable response. An abridged response looks like:
{"file":{"id":"...","name":"report.pdf"},"link":{"url":"https://aispace.sh/d/...","expires_at":1757003600}}
Other installation channels:
npm install -g @aispace-sh/cli
brew install aispace-sh/tap/aispace go install github.com/aispace-sh/aispace-client@latest
Pin the shell installer with AISPACE_VERSION=v1.2.3. Release binaries support macOS, Linux, and Windows on amd64 and arm64. The shell installer supports macOS and Linux; use npm on Windows.
Using Grok Bot? Give Grok Bot a fast, bot-friendly way to share files with aispace.
Add the aispace bot to Grok Bot →
The repository includes a reusable Codex-compatible skill. Clone the repository and link the skill into your personal Codex skills directory:
git clone https://github.com/aispace-sh/aispace-client.git
mkdir -p ~/.codex/skills ln -s "$PWD/aispace-client/skills/aispace" ~/.codex/skills/aispace
Restart Codex, then ask it to use aispace when it needs to hand you a report, archive, image, or other generated artifact. The skill defaults to account-private storage unless you request a public link, prefers short expirations, and treats encryption identities as credentials.
The native CLI also exposes ten typed MCP tools over local stdio. Create a separately scoped bot key in the dashboard, export it in the environment that launches Codex, and add:
[mcp_servers.aispace]
command = "aispace" args = ["mcp", "serve"] env_vars = ["AISPACE_KEY", "AISPACE_URL", "AISPACE_ALLOWED_ROOTS"] startup_timeout_sec = 10 tool_timeout_sec = 120 default_tools_approval_mode = "writes"
[mcp_servers.aispace.tools.aispace_create_link] approval_mode = "prompt"
[mcp_servers.aispace.tools.aispace_revoke_link] approval_mode = "prompt"
[mcp_servers.aispace.tools.aispace_delete_file] approval_mode = "prompt"
Run codex mcp list to verify the connection. The ChatGPT desktop app, Codex CLI, and Codex IDE extension on the same host share this configuration. Keep the key in a secret store or injected environment; never put its expanded value in a committed project file or command argument. See docs/CLI.md for Claude Code and generic-host examples.
For custom agent runtimes, docs/LLM_USAGE.md includes a system-prompt snippet, OpenAI/Anthropic-compatible tool schemas, and a reference Python handler. See examples for runnable shell, CI, and encrypted-handoff recipes.
# Upload text from stdin and return an expiring public link (Pro).
echo "hello" | aispace upload - --name note.txt --link --link-expires 1h
aispace upload secret.txt --private
aispace upload secret.pdf --encrypt --identity-out secret.agekey --link
aispace upload notes.md --shared --json
aispace transfer create report.pdf charts.png --sealed --link --expires 1d --max-downloads 1
aispace handoff offer "$TRANSFER_ID"
aispace recipient add "$RECIPIENT_INVITATION" aispace recipient verify research-agent --fingerprint "$RECIPIENT_FINGERPRINT" aispace transfer create report.pdf --sealed --to research-agent --from my-agent --expires 7d aispace inbox receive "$DELIVERY_ID" --yes
aispace transfer receive
aispace ls --json aispace download --output ./file aispace download --output ./file --verify # check the recorded SHA-256 aispace link --expires 30m --max-downloads 1 aispace revoke aispace rm
Follow docs/SECURE_HANDOFFS.md for sealed bundles, trusted agent inboxes, device pairing, adaptive R2 fallback, and recovery. The complete command reference is in docs/CLI.md; the HTTP contract is in docs/API.md.
upload accepts --name, --expires, --content-type, --sha256, --link, --link-expires, --max-downloads, --private, --shared, --encrypt, --recipient, and --identity-out. Uploads stream from disk. Encrypted uploads use age X25519 locally and store ciphertext as .age; the secret identity is never sent to the API.
transfer create uses aispace-sealed-v1: AES-256-GCM authenticated chunks and an encrypted manifest support multiple files, ranged retry, and a verified receipt. transfer receive accepts the secret from its prompt, --token-file, or AISPACE_TRANSFER_TOKEN; avoid putting a full fragment link or token in a process argument on shared systems.
transfer create --json omits bearer links and tokens unless --include-secret is explicit, and secret-inclusive JSON must be redirected rather than written to a terminal. handoff encode likewise accepts the protected prompt, --token-file, or AISPACE_TRANSFER_TOKEN.
With --json, errors also remain structured and are written to stderr. upload --link --json returns {"file": File, "link": ShareLink}; encrypted uploads add an "encryption" object.
Precedence: flag > environment > config file > default.
| Setting | Flag | Env | File key | Default |
|---|---|---|---|---|
| API key | --key | AISPACE_KEY | key | — |
| Server | --url | AISPACE_URL | url | https://aispace.sh |
AISPACE_AGE_IDENTITY supplies a decryption identity when decrypt --identity-file is omitted. It is deliberately not accepted as a command-line value.
Config file: $XDG_CONFIG_HOME/aispace/config.json (default ~/.config/aispace/config.json), written with mode 0600. A warning is printed if the file is readable by others. AISPACE_CONFIG overrides the path.
Durations (--expires, --link-expires) accept Go syntax plus a d suffix: 30m, 24h, 7d, 1d12h, or a bare number of seconds. Omitting them uses the server defaults (7 days for files, 1 hour for Pro public links).
File visibility controls authenticated key access. A public link is a separate capability: creating one requires a Pro account and makes that one file available to anyone holding the URL.
| File mode | Who can access it? | File lifetime | Public-link lifetime | Download cap | Exposure if access leaks |
|---|---|---|---|---|---|
private | Uploading key only | 7 days by default; maximum 7 days on Free or 30 days on Pro | None | Account monthly limit | Private files belonging to that key, until deletion or expiry |
account | Every active key on the account | 7 days by default; maximum 7 days on Free or 30 days on Pro | None | Account monthly limit | Account-shared files, until deletion or expiry |
private + public link | Uploading key and anyone with the URL | Maximum 30 days because links require Pro | 1 hour by default; maximum 30 days and never beyond file expiry | Optional per-link cap | Only the linked file, until link expiry, revocation, exhaustion, file deletion, or file expiry |
account + public link | Account keys and anyone with the URL | Maximum 30 days because links require Pro | 1 hour by default; maximum 30 days and never beyond file expiry | Optional per-link cap | URL access ends with the link; account keys retain access until file deletion or expiry |
| Client-encrypted file | Visibility controls ciphertext access; only age identity holders can decrypt it | Same limits as the selected file mode | Same Pro-only limits when a link is created | Optional per-link cap | Plaintext exposure requires both the ciphertext and the age identity |
Available duration syntax includes 30s, 15m, 1h, 36h, and 7d.
A file becomes unavailable when its file lifetime ends. A link can end sooner because it expired, was revoked, or reached its download cap. Deleting the file immediately ends authenticated key access and every associated public link.
| Code | Meaning |
|---|---|
| 0 | success |
| 1 | generic error (network, 4xx/5xx not listed below) |
| 2 | usage error |
| 3 | authentication (401, or no key configured) |
| 4 | quota / size (402, 413) |
| 5 | rate limited (429) — idempotent GETs sleep Retry-After (max 30s) and
冒頭だけを表示しています。続きはリポジトリで読めます