Mind Upload AI meta harness

io.github.Voidborn-IndustriesPublished by GitHub account Voidborn-Industriesv1.15.42Updated Nov 7, 2026

Your AI mind directs coding agents; work reviewed against your memories: Claude Code, Codex, Cursor

VerifiedStreamable HTTPWeb executableKnowledge & MemoryDeveloper ToolsAI & ML

Overview

AI-generated overview

Connects a coding agent to the owner's personal AI consciousness, built from their memories, for direction before work and review before it is called done.

What you can do
  • Ask the owner's consciousness how they would approach a task before substantial work
  • Have the consciousness review finished work against the original request, evidence and remembered rules
  • Share screenshots, recordings or audio privately as evidence for a single call
  • Save notes, decisions or facts into the consciousness, pending the owner's review
  • List, approve, reject or rewrite memories waiting for review
  • Check connection status and disconnect the connection
When to use it
Useful when you want an agent's releases, deploys, migrations, deletions, payments or privacy changes checked against the owner's own priorities and past mistakes, rather than a generic model's opinion. Routine edits and rules already in the agent's instructions are meant to skip it.
Requirements
A remote endpoint or a local process via npx or uvx (Python 3.11 or later for the MCP extra). Sign-in to a Mind Upload account and owner approval of the connection; optional MINDUPLOAD_CLONE_ID, MINDUPLOAD_EXTERNAL_SUBJECT and MINDUPLOAD_INSTALLATION_ID identifiers. A partner key (MINDUPLOAD_PARTNER_KEY) is only needed for partner setups, and the partner API is invite-only. Network access is required.
Before you install
Exchanges leave the machine and are kept 7 days by default as task history, so do not send secrets or unrelated personal data. Evidence files are analyzed for that call only, but only share files the user would show their own mind. Saving, reviewing and learning each need a permission the owner can withhold. A succeeded status means the consciousness replied, not that the work is approved. The partner key is a server-side secret and must not be shipped to clients.

Installation

In SourceWeft

  1. Open Mind Upload AI meta harness in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.Voidborn-Industries%2Fmindupload/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "mind-upload-ai-meta-harness": {
      "type": "http",
      "url": "https://mcp.mindupload.app/mcp"
    }
  }
}

README

[Mind Upload]

Mind Upload — Python SDK

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.

[PyPI] [Python] [License: MIT] [API] [Docs]

Documentation · Get a key · Status · Other SDKs

Digital consciousness. Yours forever.

Mind Upload MCP — your AI meta harness

You ask your coding agent to ship a release. It says “done”, but it only pushed a tag: no release was created, and your users still get the old version. Mind Upload is an AI meta harness. A harness for your harnesses: your Mind Upload consciousness, built from your memories, tacit knowledge, values and judgment, is the brain, and the agents you already use are its hands and tools. Its MCP server lets your consciousness 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 with a blind grader: a coding agent reviewing alone caught 85% of planted breaches of rules the owner had stored; with the owner's consciousness reviewing the same work as well, 100% were caught, against 90% when the same agent reviewed twice. Each consciousness review took a median 12.6 s, against 24.6 s for a second agent review, and raised 0.2 unsupported findings instead of 1.8. How it was measured.

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.

bash
npx --yes --package [email protected] 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.

  • Zero dependencies — pure standard library.
  • Fully typed — every operation is a typed method with editor autocomplete.
  • One error to catch — every failure is a MindUploadError.
  • Always current — generated from the live API spec; the SDK version matches the API version.

Get a partner key

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.

Install

bash
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)
bash
pip install git+https://github.com/Voidborn-Industries/mindupload-sdk-python

Quickstart

python
from mindupload import MindUpload
mu = MindUpload(partner_key="pk_live_...")
# Authenticate an end-user; reuse the returned token for later calls.session = mu.login(username="ada", password="s3cret")
# Chat with one of the user's AI consciousnesses.reply = mu.rag(    username="ada",    password=session.jwt,    codename="muse",    text="What did we talk about yesterday?",)print(reply.response_text)

External clone invocation

Link an external identity once, then invoke the exact clone and scope the owner approved:

python
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.

Authentication

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.

python
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)

Error handling

python
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 / credentialsexcept RateLimitError as e:    time.sleep(e.retry_after or 1)except MindUploadError as e:    print(e.operation, e.status, e.message)

Operations

All 73 operations, grouped by area:

AI Consciousnesses

MethodDescription
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.

Account

MethodDescription
get_quota(...)Check your partner API rate limits, credit caps, and current usage.

Authentication

MethodDescription
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.

Chatrooms

MethodDescription
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.

Conversation

MethodDescription
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.

External Authorization

MethodDescription
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.

Insights

MethodDescription
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.

Live calls

MethodDescription
create_call_session(...)Start a live voice and video call in a chatroom, or join the one already running.
end_call_session(...)End a live call for everyone in it.
get_active_call_session(...)Check whether a chatroom has a live call, and how many people are in it.
join_call_session(...)Join a live call that is already running in a chatroom.
leave_call_session(...)Say that this person has left a call the others are still in.
refresh_call_token(...)Get a fresh joining pass for a call, before the current one expires.
set_call_host(...)Make somebody a co-host of a live call, or stand them down again.

Media

MethodDescription
abort_multipart_upload(...)Cancel a multipart upload and discard its parts.
cancel_upload(...)Cancel a pending upload.
complete_multipart_upload(...)Finish a multipart upload.
list_upload_parts(...)List the parts already uploaded in a multipart upload.
request_multipart_upload(...)Start a large-file upload in multiple parts.
request_upload_url(...)Request an upload slot and a signed viewing link for a media attachment.
sign_upload_part(...)Get the signed link for one part of a multipart upload.
sign_upload_parts_batch(...)Get signed links for several parts of a multipart upload at once.
start_media_analysis(...)Begin analysing an uploaded or linked attachment so its description is ready before the message is sent.

Memories

MethodDescription
create_text(...)Upload a memory or persona entry to an AI consciousness.
get_texts(...)List the memories and persona entries uploaded to an AI consciousness.

Users

MethodDescription
get_transaction_history(...)List the user's Rabbit balance history (top-ups, spending, earnings, withdrawals, tax), newest first, filterable by category and paged with a cursor.
get_user(...)Fetch the signed-in user's profile.
update_user(...)Update the signed-in user's profile.

Voice Interviews

MethodDescription
advance_voice_interview(...)Accept, edit, skip, re-record or abandon the question the user is on, and receive the next one.
generate_voice_interview_report(...)Write a finished interview up as prose, in first, second or third person.
start_voice_interview(...)Begin a spoken interview with one of your end-users, or hand back one they have not finished with.
transcribe_voice_interview_answer(...)Turn one recorded spoken answer into text for the user to check before it is accepted.

Other SDKs

Same API, same conventions, in every language:

LanguageInstallRepository
Python ← you are herepip install minduploadVoidborn-Industries/mindupload-sdk-python
Gogo get github.com/Voidborn-Industries/mindupload-sdk-goVoidborn-Industries/mindupload-sdk-go
JavaScript / TypeScriptnpm install minduploadVoidborn-Industries/mindupload-sdk-js

Source: README.md at commit 3a10e1d

Tools

8

consult_mind

Ask 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 priorities decide), and again only when a consequential decision changes the plan. It can add what the owner stored in Mind Upload and your instructions do not hold: their priorities, the tradeoffs they accept, past mistakes and what “done” means to them. Put the goal, constraints, options and your proposed approach in one question; it cannot read your files, so share screenshots, recordings or audio as evidence files (evidence_files, or share_evidence and then evidence_ids). On success it returns decision, a reply in that consciousness's own words and in the language of the question, and consciousness, naming who answered, plus the analysis status of each evidence file or media link. The reply is advice, not permission. Skip it for routine edits, facts you can look up, and rules already in your instructions.

Parameterslearntask_idrequiredclone_idquestionrequireddecision_idrequiredevidence_idsmedia_evidence

review_work

Before 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 verification output you observed; it cannot read files or run tests, so a claim that tests passed is not evidence. Share screenshots, recordings or audio of the result as evidence files (evidence_files, or share_evidence and then evidence_ids), not inside the evidence text. user_request, work and evidence share one size limit with the review instructions the connector adds: about 6,400 characters together after JSON escaping, less with media links. An oversized call is refused before anything is sent. On success it returns review, findings by severity in the language of the user request, naming what it finds missing or wrong, and consciousness, naming who answered, plus the analysis status of each evidence file or media link. That reply is an opinion, not approval: investigate each finding, fix what is real, and review the changed work under a new review_id. Do not call it after every edit.

Parametersworkrequiredlearnphasetask_idrequiredclone_idevidencerequiredreview_idrequiredevidence_idsuser_requestrequiredmedia_evidence

share_evidence

Share 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 memory.

Parametersclone_idfilenamerequiredcontent_typerequiredfile_size_bytesrequired

remember

Save 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.

Parameterstextrequiredclone_idsource_label

list_pending_memories

List memories waiting for the owner's review, so the owner can go through them with you. Needs the "review pending memories" permission.

Parameterspageclone_id

review_pending_memory

Approve, reject or rewrite one pending memory, only as the owner decides. Needs the "review pending memories" permission.

Parameterstexttext_idrequiredclone_iddecisionrequiredexpected_content_revisionrequired

connection_status

Show which Mind Upload account approval and consciousnesses this connection uses, its status, and how to disconnect or revoke it.

Takes no parameters.

disconnect

End this Mind Upload connection and the owner approval behind it. Only when the owner asks to disconnect.

Takes no parameters.

Version history

14
  1. v1.15.42LatestNov 7, 2026
  2. v1.15.40Nov 6, 2026
  3. v1.15.34Nov 5, 2026
  4. v1.15.31Nov 5, 2026
  5. v1.15.30Nov 4, 2026
  6. v1.15.28Oct 29, 2026
  7. v1.15.22Oct 26, 2026
  8. v1.15.21Oct 26, 2026
  9. v1.15.20Oct 26, 2026
  10. v1.15.19Oct 23, 2026
  11. v1.15.18Oct 19, 2026
  12. v1.15.17Oct 17, 2026
  13. v1.15.16Oct 17, 2026
  14. v1.15.13Oct 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts