Mind Upload MCP and Python SDK — an AI meta harness for personal direction and scrutiny of completed agent work, images, audio and video.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
claude mcp add mindupload-sdk-python -- npx -y --yes{
"mcpServers": {
"mindupload-sdk-python": {
"command": "npx",
"args": ["-y", "--yes"]
}
}
}MCP Servers overview
<div align="center">
<a href="https://mindupload.app"><img src="https://raw.githubusercontent.com/Voidborn-Industries/mindupload-sdk-python/main/assets/banner.jpg" alt="Mind Upload" width="100%" /></a>
# 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.
[](https://pypi.org/project/mindupload/) [](https://pypi.org/project/mindupload/) [](LICENSE)  [](https://docs.mindupload.app)
[Documentation](https://docs.mindupload.app) · [Get a key](https://docs.mindupload.app) · [Status](https://status.mindupload.app) · [Other SDKs](#other-sdks)
</div>
> **Digital consciousness. Yours forever.**
<!-- mcp-name: io.github.Voidborn-Industries/mindupload -->
## 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.
```bash
npx --yes --package mindupload@1.15.13 mindupload-mcp
```
[Install for your agent](https://docs.mindupload.app/mcp) · [Review workflow and configuration](https://github.com/Voidborn-Industries/mindupload-sdk-python/blob/main/MCP.md)
The official server-side SDK for the [Mind Upload partner API](https://docs.mindupload.app). 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](https://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](https://github.com/Voidborn-Industries/mindupload-sdk-python/blob/main/MCP.md).
<details>
<summary>Install from source (works today, before the PyPI release)</summary>
```bash
pip install git+https://github.com/Voidborn-Industries/mindupload-sdk-python
```
</details>
## 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](https://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 / 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
| Method | Description |
| --- | --- |
| `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
| Method | Description |
| --- | --- |
| `get_quota(...)` | Check your partner API rate limits, credit caps, and current usage. |
### Authentication
| 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. |
### Chatrooms
| 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. |
### Conversation
| 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. |
| `trigger_social(...)` | Have an AI consciousness proactively join the conversation in a chatroom. |
### External Authorization
| Method | Description |
| --- | --- |
| `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
| 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. |
### Live calls
| Method | Description |
| --- | --- |
| `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
| Method | Description |
| --- | --- |
| `abort_multipart_upload(...)` | Cancel a multipart upload and discard its parts. |
| `cancel_upload(.What people ask about mindupload-sdk-python
What is Voidborn-Industries/mindupload-sdk-python?
+
Voidborn-Industries/mindupload-sdk-python is mcp servers for the Claude AI ecosystem. Mind Upload MCP and Python SDK — an AI meta harness for personal direction and scrutiny of completed agent work, images, audio and video. It has 2 GitHub stars and its last recorded update is dated 2026-10-16.
How do I install mindupload-sdk-python?
+
You can install mindupload-sdk-python by cloning the repository (https://github.com/Voidborn-Industries/mindupload-sdk-python) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is Voidborn-Industries/mindupload-sdk-python safe to use?
+
Our security agent has analyzed Voidborn-Industries/mindupload-sdk-python and assigned a Trust Score of 95/100 (tier: Verified). See the full breakdown of passed checks and flags on this page.
Who maintains Voidborn-Industries/mindupload-sdk-python?
+
Voidborn-Industries/mindupload-sdk-python is maintained by Voidborn-Industries. The last recorded GitHub activity is dated 2026-10-16, with 0 open issues.
Are there alternatives to mindupload-sdk-python?
+
Yes. On ClaudeWave you can browse similar mcp servers at /categories/mcp, sorted by popularity or recent activity.
Deploy mindupload-sdk-python to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/voidborn-industries-mindupload-sdk-python)<a href="https://claudewave.com/repo/voidborn-industries-mindupload-sdk-python"><img src="https://claudewave.com/api/badge/voidborn-industries-mindupload-sdk-python" alt="Featured on ClaudeWave: Voidborn-Industries/mindupload-sdk-python" width="320" height="64" /></a>More MCP Servers
Reverse engineer anything with agents, from app behavior down to native binaries.
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev