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
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
MINDUPLOAD_PARTNER_KEY, MINDUPLOAD_INSTALLATION_ID, MINDUPLOAD_EXTERNAL_SUBJECT, MINDUPLOAD_CLONE_ID标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
适用于网页版、桌面版和手机版 Claude:
https://mcp.mindupload.app/mcp打开 Claude 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.41)于今天进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。它通过 URL 连接,所以接受远程 MCP 服务器的应用也可以使用,例如开启开发者模式的 ChatGPT。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Recta
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况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.
Cheaper cross-chain stablecoin routes for AI agents; 5 % of the verified saving, nothing if none.
按原文从作者的仓库复制。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
只显示了开头部分;其余内容请在仓库中阅读