Mind Upload

Official registry Developer tools

AI meta harness for Codex, Claude Code, Cursor and VS Code: direction and completed-work review.

Install

Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).

NPM package mindupload
Claude Code
claude mcp add mind-upload -e 'MINDUPLOAD_PARTNER_KEY=<your mindupload_partner_key>' -e 'MINDUPLOAD_INSTALLATION_ID=<MINDUPLOAD_INSTALLATION_ID>' -e 'MINDUPLOAD_EXTERNAL_SUBJECT=<MINDUPLOAD_EXTERNAL_SUBJECT>' -e 'MINDUPLOAD_CLONE_ID=<MINDUPLOAD_CLONE_ID>' -- npx -y mindupload@1.15.22
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "mind-upload": {
            "command": "npx",
            "args": [
                "-y",
                "mindupload@1.15.22"
            ],
            "env": {
                "MINDUPLOAD_PARTNER_KEY": "<your mindupload_partner_key>",
                "MINDUPLOAD_INSTALLATION_ID": "<MINDUPLOAD_INSTALLATION_ID>",
                "MINDUPLOAD_EXTERNAL_SUBJECT": "<MINDUPLOAD_EXTERNAL_SUBJECT>",
                "MINDUPLOAD_CLONE_ID": "<MINDUPLOAD_CLONE_ID>"
            }
        }
    }
}

Environment variables

  • MINDUPLOAD_PARTNER_KEY secret Private partner key required for consciousness direction and work review; installation can start without it.
  • MINDUPLOAD_INSTALLATION_ID Stable installation identifier required for consciousness direction and work review.
  • MINDUPLOAD_EXTERNAL_SUBJECT Stable user identifier required to link an owner-approved consciousness.
  • MINDUPLOAD_CLONE_ID Optional owner-approved consciousness identifier for personal guidance.
PYPI package mindupload
Claude Code
claude mcp add mind-upload -e 'MINDUPLOAD_PARTNER_KEY=<your mindupload_partner_key>' -e 'MINDUPLOAD_INSTALLATION_ID=<MINDUPLOAD_INSTALLATION_ID>' -e 'MINDUPLOAD_EXTERNAL_SUBJECT=<MINDUPLOAD_EXTERNAL_SUBJECT>' -e 'MINDUPLOAD_CLONE_ID=<MINDUPLOAD_CLONE_ID>' -- uvx mindupload==1.15.22
JSON configuration (Claude Desktop, Cursor, VS Code)
{
    "mcpServers": {
        "mind-upload": {
            "command": "uvx",
            "args": [
                "mindupload==1.15.22"
            ],
            "env": {
                "MINDUPLOAD_PARTNER_KEY": "<your mindupload_partner_key>",
                "MINDUPLOAD_INSTALLATION_ID": "<MINDUPLOAD_INSTALLATION_ID>",
                "MINDUPLOAD_EXTERNAL_SUBJECT": "<MINDUPLOAD_EXTERNAL_SUBJECT>",
                "MINDUPLOAD_CLONE_ID": "<MINDUPLOAD_CLONE_ID>"
            }
        }
    }
}

Environment variables

  • MINDUPLOAD_PARTNER_KEY secret Private partner key required for consciousness direction and work review; installation can start without it.
  • MINDUPLOAD_INSTALLATION_ID Stable installation identifier required for consciousness direction and work review.
  • MINDUPLOAD_EXTERNAL_SUBJECT Stable user identifier required to link an owner-approved consciousness.
  • MINDUPLOAD_CLONE_ID Optional owner-approved consciousness identifier for personal guidance.

Documentation

From the project's README on GitHub, refreshed weekly. Links open on GitHub.

Contents
  1. Mind Upload — Python SDK
  2. Mind Upload MCP — your AI meta harness
  3. Get a partner key
  4. Install
  5. Quickstart
  6. External clone invocation
  7. Authentication
  8. Error handling
  9. Operations
  10. Other SDKs

Mind Upload — Python SDK

The world's first API for artificial consciousness.
Give your users a living, evolving AI consciousness — lasting memory, one-on-one chat, and human + AI group chatrooms.

Documentation · Get a key · Status · Other SDKs

Digital consciousness. Yours forever.

Mind Upload MCP — your AI meta harness

An AI meta harness lets your Mind Upload consciousness direct Codex, Claude Code, Cursor, VS Code, and other MCP agents. Use its memories, preferences, and judgment to set direction, make consequential decisions, and scrutinize completed work. Partner access and owner consent are required for both consultation and review; installation alone does not link a mind or perform a review. MCP is language agnostic: your agent and project can use any language. Choose the Node.js server below or the Python alternative in the setup guide.

npx --yes --package mindupload@1.15.19 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

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

Quickstart

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:

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.

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

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)

Operations

All 64 operations, grouped by area:

AI Consciousnesses
MethodDescription
create_clone(...)Create a new AI consciousness for the user.
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.
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.
exchange_external_authorization(...)Poll owner consent and exchange an approval for a clone-scoped grant token.
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.
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.
review_external_quarantined_text(...)Edit, approve or reject the displayed revision of one pending memory.
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

Frequently asked questions

What is Mind Upload?

AI meta harness for Codex, Claude Code, Cursor and VS Code: direction and completed-work review.

How do I install Mind Upload?

It runs on your machine. In Claude Code: claude mcp add mind-upload -e 'MINDUPLOAD_PARTNER_KEY=<your mindupload_partner_key>' -e 'MINDUPLOAD_INSTALLATION_ID=<MINDUPLOAD_INSTALLATION_ID>' -e 'MINDUPLOAD_EXTERNAL_SUBJECT=<MINDUPLOAD_EXTERNAL_SUBJECT>' -e 'MINDUPLOAD_CLONE_ID=<MINDUPLOAD_CLONE_ID>' -- npx -y mindupload@1.15.22. For other clients, paste the JSON configuration from this page into their MCP settings.

Does Mind Upload need an API key?

Yes. It expects MINDUPLOAD_PARTNER_KEY, which you set in its configuration.

Is Mind Upload open source?

Yes. Its code is on GitHub under the MIT license.

Who maintains Mind Upload?

It is published by Voidborn-Industries. AI.tn lists it but does not maintain or endorse it.

From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.