io.github.Voidborn-Industries/mindupload·Other

Mind Upload

Evidence-based completion review and optional personal guidance for AI agents.

Stars
2
Version
1.15.12
License
MIT
Review
Passed
Language
Python
Last commit
2h ago
Forks
0
Open issues
0
Registry update
Oct 16, 2026
agent-skillsai-agentsai-consciousnessapi-clientclaude-codecode-reviewcodexcursordigital-consciousnessmcpmcp-servermindupload

Connect

pypi
Terminal
$claude mcp add mindupload \  -e MINDUPLOAD_PARTNER_KEY=<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.12

Environment variables

  • MINDUPLOAD_PARTNER_KEYsecret

    Optional partner key for owner-approved personal guidance; completion review needs no key.

  • MINDUPLOAD_INSTALLATION_ID

    Optional installation identifier for authenticated personal guidance.

  • MINDUPLOAD_EXTERNAL_SUBJECT

    Optional external user identifier for authenticated personal guidance.

  • MINDUPLOAD_CLONE_ID

    Optional owner-approved consciousness identifier for personal guidance.

Security review

Review passed

Reviewed 54m ago.

metadata
scanned
packages
1 checked

No findings.

Tools

This server runs on your machine, so its tool list is not fetched before install — the README below describes what it offers.

Mind Upload

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.

PyPI Python License: MIT API Docs

Documentation · Get a key · Status · Other SDKs

Digital consciousness. Yours forever.

MindUpload MCP — scrutinize agent work before calling it complete

Add evidence-based completion review to Codex, Claude Code, Cursor, VS Code, and other MCP agents. Start without an account or key: your agent reviews its work against the supplied request and evidence. Optionally connect an owner-approved MindUpload consciousness for personalized review.

uvx --python '>=3.11' --from 'mindupload[mcp]==1.15.12' 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 agent review and optional consciousness consultation, 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 56 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
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.
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.
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

From the server's repository — third-party content, read it before running anything it suggests.

More in Other

Listing from the official MCP Registry · repository facts from GitHub, 57m ago.