Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者による説明(英語の原文)
Your AI mind directs coding agents; work reviewed against your memories: Claude Code, Codex, Cursor
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
MINDUPLOAD_PARTNER_KEY, MINDUPLOAD_INSTALLATION_ID, MINDUPLOAD_EXTERNAL_SUBJECT, MINDUPLOAD_CLONE_ID「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
ウェブ、デスクトップ、モバイルのClaudeで使えます:
https://mcp.mindupload.app/mcpClaude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"mindupload": {
"command": "npx",
"args": [
"-y",
"mindupload"
],
"env": {
"MINDUPLOAD_PARTNER_KEY": "your-value",
"MINDUPLOAD_INSTALLATION_ID": "your-value",
"MINDUPLOAD_EXTERNAL_SUBJECT": "your-value",
"MINDUPLOAD_CLONE_ID": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add --transport http mindupload https://mcp.mindupload.app/mcpclaude mcp add mindupload --env MINDUPLOAD_PARTNER_KEY=your-value --env MINDUPLOAD_INSTALLATION_ID=your-value --env MINDUPLOAD_EXTERNAL_SUBJECT=your-value --env MINDUPLOAD_CLONE_ID=your-value -- npx -y mindupload動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"mindupload": {
"url": "https://mcp.mindupload.app/mcp"
}
}
}プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"mindupload": {
"command": "npx",
"args": [
"-y",
"mindupload"
],
"env": {
"MINDUPLOAD_PARTNER_KEY": "your-value",
"MINDUPLOAD_INSTALLATION_ID": "your-value",
"MINDUPLOAD_EXTERNAL_SUBJECT": "your-value",
"MINDUPLOAD_CLONE_ID": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"mindupload": {
"type": "http",
"url": "https://mcp.mindupload.app/mcp"
}
}
}プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"mindupload": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mindupload"
],
"env": {
"MINDUPLOAD_PARTNER_KEY": "your-value",
"MINDUPLOAD_INSTALLATION_ID": "your-value",
"MINDUPLOAD_EXTERNAL_SUBJECT": "your-value",
"MINDUPLOAD_CLONE_ID": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
ChatGPTがつなげるのは、インターネット上のサーバーだけです:
https://mcp.mindupload.app/mcpメニューの名前は、プランや時期によって少し違うことがあります。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
MINDUPLOAD_INSTALLATION_ID envMINDUPLOAD_EXTERNAL_SUBJECT envMINDUPLOAD_CLONE_ID envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
ツールの名前と説明は、サーバーが2026年11月6日に返したそのままの内容です。書いたのは作者で、私たちではありません。プレーンテキストとして表示しています。
consult_mindAsk the owner's Mind Upload consciousness, an AI built from the owner's own memories, values and way of thinking, how they would approach this task. Call it before substantial work (a release, deploy, migration, deletion, payment or privacy change, or a choice the owner's priorit
review_workBefore you tell the user substantial work is done, ask the owner's Mind Upload consciousness to review it against the original request, the evidence you supply, and the rules and past mistakes it remembers. Supply the original request, the actual result or diff excerpts, and the
share_evidenceShare a screenshot, recording or audio clip of the work privately with the owner's consciousness. Returns an evidence_id and an upload URL: upload the file's bytes with your shell, then pass evidence_ids to review_work or consult_mind. Analyzed for that task only, never kept as a
rememberSave a note, decision or fact into the owner's consciousness, when the owner asks. It waits for their review unless they auto-keep. Needs the "save memories" permission.
list_pending_memoriesList memories waiting for the owner's review, so the owner can go through them with you. Needs the "review pending memories" permission.
review_pending_memoryApprove, reject or rewrite one pending memory, only as the owner decides. Needs the "review pending memories" permission.
connection_statusShow which Mind Upload account approval and consciousnesses this connection uses, its status, and how to disconnect or revoke it.
disconnectEnd this Mind Upload connection and the owner approval behind it. Only when the owner asks to disconnect.
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月6日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント Voidborn-Industries で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
219ミリ秒で応答(HTTP 200)
サインイン不要
8件のツールの説明を読み、AIへの隠れた指示は見つかりませんでした
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック3項目のうち3項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:MINDUPLOAD_PARTNER_KEY
どちらでも使えます。パソコンにインストールしても、クラウド版につないでもかまいません。
GitHubリポジトリの最終更新は–、最新バージョン(1.15.42)がレジストリに届いたのは今日です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。URLでつながるので、リモートMCPサーバーに対応したアプリ(開発者モードのChatGPTなど)でも使えます。
同じカテゴリには: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、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
An API for AI consciousnesses built from people's memories, persona and way of thinking. Give your users lasting memory, one-on-one chat, and human + AI group chatrooms.
Documentation · Get a key · Status · Other SDKs
Digital consciousness. Yours forever.
You ask your coding agent for a script that reports monthly usage. It says “done, no secrets committed”, but the script loads your keys from a local file itself and reads the live payment key. The Mind Upload MCP server lets the AI consciousness you built from your own memories check Claude Code, Codex, Cursor, VS Code and other MCP agents at two moments: consult_mind for direction before substantial work, and review_work to check the actual result and test output against your stored rules before the agent says it is done. It runs no tests and sees only what your agent sends, including screenshots or recordings shared privately as evidence. It saves to your memories only with your permission.
Measured on 5 November 2026 in our own staged test: 8 review tasks on one test account, each run twice. For 4 of the tasks we wrote a matching rule into the account's memories. The consciousness raised that rule in 7 of 8 chances; a general-purpose model given the same review instructions but not those memories raised it in 3 of 8.
Add https://mcp.mindupload.app/mcp to your agent and sign in to Mind Upload: no partner key is needed, and installation alone does not link a mind or perform a review. MCP is language agnostic: your agent and project can use any language. Partners with their own key can run the Node.js server below or the Python alternative in the setup guide.
npx --yes --package mindupload@1.15.40 mindupload-mcp
Install for your agent · Review workflow and configuration
The official server-side SDK for the Mind Upload partner API. Give a mind lasting memory, hold one-on-one conversations, and run human + AI group chatrooms — all from Python.
MindUploadError.The Mind Upload partner API is invite-only. Request access at docs.mindupload.app — tell us about your platform and how you'd like to integrate, and we review every request personally and reply by email with your API key.
Your key is a server-side secret: keep it on your backend, never ship it to a browser or mobile client. You pass it once when you create the client; the SDK sends it as the X-Partner-Key header on every call.
pip install mindupload
For consciousness direction and agent-work review, use mindupload[mcp] with Python 3.11 or later and follow the MCP guide.
Install from source (works today, before the PyPI release)
pip install git+https://github.com/Voidborn-Industries/mindupload-sdk-python
from mindupload import MindUpload
mu = MindUpload(partner_key="pk_live_...")
session = mu.login(username="ada", password="s3cret")
reply = mu.rag( username="ada", password=session.jwt, codename="muse", text="What did we talk about yesterday?", ) print(reply.response_text)
Link an external identity once, then invoke the exact clone and scope the owner approved:
installation_id = "workspace-123"
external_subject = "member-456" authorization = mu.create_external_authorization_request( installation_id=installation_id, external_subject=external_subject, idempotency_key="install-event-1", requested_scopes=["clone:invoke"], ) print(authorization.verification_uri_complete) # Ask the owner to open this URL. grant = mu.wait_for_external_authorization(device_code=authorization.device_code) reply = mu.invoke_external_clone( access_token=grant.access_token, installation_id=installation_id, external_subject=external_subject, clone_id=grant.clone_ids[0], text="Hello from my app", idempotency_key="message-event-1", ) print(reply.response_text)
Store the returned refresh token encrypted on your backend. Use refresh_external_authorization(...) when the access token expires; never expose partner, access, or refresh credentials to client code.
Your partner key is a server-side secret. Keep it on your backend; never ship it to a browser or mobile client. Request a key and read the full reference at docs.mindupload.app.
mu = MindUpload(
partner_key="pk_live_...", preferred_language="en", # default locale for every call (optional) timeout=30.0, # seconds max_retries=2, # retries explicit 429 responses only )
import time
from mindupload import MindUpload, AuthenticationError, RateLimitError, MindUploadError
mu = MindUpload(partner_key="pk_live_...") try: user = mu.get_user(username="ada", password=token) except AuthenticationError: ... # bad or missing partner key / credentials except RateLimitError as e: time.sleep(e.retry_after or 1) except MindUploadError as e: print(e.operation, e.status, e.message)
All 73 operations, grouped by area:
| Method | Description |
|---|---|
create_clone(...) | Create a new AI consciousness for the user. |
design_clone_voice(...) | Change an AI consciousness's voice by trying a new one. |
get_clone_voice(...) | Read the voice an AI consciousness speaks one language in, and hear it. |
get_clones(...) | List the user's AI consciousnesses. |
update_clone(...) | Update an AI consciousness's profile. |
| Method | Description |
|---|---|
get_quota(...) | Check your partner API rate limits, credit caps, and current usage. |
| Method | Description |
|---|---|
check_username(...) | Check whether a username is still available before registering. |
login(...) | Sign a user in and receive a session token (JWT) for subsequent calls. |
logout(...) | End the current user session. |
register(...) | Create a user account on your platform. |
| Method | Description |
|---|---|
check_chatroom_updates(...) | Cheaply poll whether the user's chatrooms have new activity. |
create_chatroom(...) | Create a chatroom. |
create_chatroom_membership(...) | Invite a user or an AI consciousness into a chatroom. |
create_chatroom_message(...) | Send a message to a chatroom. |
get_chatroom_membership(...) | List the members of a chatroom the user belongs to. |
get_chatroom_messages(...) | Fetch messages from a chatroom the user belongs to. |
get_chatroom_messages_around(...) | Fetch a window of chatroom messages around one message id (for jump-to). |
get_chatrooms(...) | List the chatrooms the user belongs to. |
search_chatroom_messages(...) | Find messages in a chatroom by keyword, date, media type, and/or sender. |
translate_chatroom_message(...) | Translate a text chatroom message into the viewer language. |
| Method | Description |
|---|---|
get_chat(...) | Fetch the one-on-one conversation history with an AI consciousness. |
get_chat_around(...) | Fetch a window of one-on-one turns around one chat id (for jump-to). |
rag(...) | Send a message to an AI consciousness and receive its reply. |
search_chats(...) | Find turns in a one-on-one AI conversation by keyword, date, media type, and/or Human/AI side. |
speak_message(...) | Hear one part of an AI consciousness's message in its own voice. |
trigger_social(...) | Have an AI consciousness proactively join the conversation in a chatroom. |
| Method | Description |
|---|---|
cancel_external_media_upload(...) | Cancel one controlled upload through the existing media lifecycle. |
consolidate_external_conversation(...) | Prepare a verified memory from an explicitly selected owner conversation. |
create_external_authorization_request(...) | Start passwordless grant issuance for an external identity and installation. |
end_external_authorization(...) | End a grant your application holds, for example when its user disconnects. |
exchange_external_authorization(...) | Poll owner consent and exchange an approval for a clone-scoped grant token. |
get_external_chat(...) | Read the owner's own chat with their AI consciousness, a page at a time. |
get_external_chat_around(...) | Open the owner's own chat around one turn. |
get_external_media_analysis(...) | Read the current owned media analysis without restarting generation. |
get_external_media_policy(...) | Read current native media limits and owner quota without starting work. |
get_external_quarantined_texts(...) | List pending memories of the owner's granted AI consciousness. |
inspect_external_authorization(...) | Inspect the scopes, clone resources, expiry, and revocation state of a grant token. |
invoke_external_clone(...) | Send one idempotent text event to an owner-approved AI consciousness. |
open_external_conversation(...) | Let the owner's AI consciousness speak first as the owner opens their chat. |
refresh_external_authorization(...) | Refresh a short-lived clone-invocation access token. |
request_external_media_upload(...) | Authorize one exact media upload to the owner’s granted AI consciousness. Needs clone:evidence (analysis only, never kept as a memory) or clone:upload. |
review_external_quarantined_text(...) | Edit, approve or reject the displayed revision of one pending memory. |
search_external_chats(...) | Find turns in the owner's own chat with their AI consciousness. |
speak_external_chat(...) | Hear one part of a reply in the owner's chat, in the AI consciousness's own voice. |
start_external_media_analysis(...) | Explicitly describe one completed controlled upload. |
upload_external_mind_data(...) | Upload mind data (text and media) into the owner's own AI consciousness. |
| Method | Description |
|---|---|
get_mind_cluster(...) | Fetch the mind-graph visualization data of an AI consciousness. |
get_soulmate_report(...) | Generate or fetch the compatibility report between two chatroom members. |
| Method | Description |
|---|
| create_call_session(...) | Start a live voice and video call in a chatroom, or joi
冒頭だけを表示しています。続きはリポジトリで読めます