Permet à un client IA de consulter la conscience numérique d'un utilisateur pour obtenir des directives et de vérifier le travail d'un agent par rapport aux souvenirs et aux règles stockés.
Aussi connu sous Voidborn-Industries/mindupload-sdk-python, mindupload-sdk-python, mindupload
- Étoiles
- 2
- Outils
- —
- Téléchargements, 30 jours
- 4 785
- Dernière version
- 1.15.47
- Dernier commit
- 13 nov. 2026
- Licence
- MIT
Qu'est-ce que Mind Upload MCP ?
Mind Upload est un serveur MCP. Permet à un client IA de consulter la conscience numérique d'un utilisateur pour obtenir des directives et de vérifier le travail d'un agent par rapport aux souvenirs et aux règles stockés.
Résumé généré à partir du README du projet
À propos du MCP server Mind Upload
Le méta-harnais IA Mind Upload agit comme une couche de supervision pour les agents IA en les connectant à une conscience numérique construite à partir des souvenirs, des valeurs et du jugement d'un utilisateur. Ce MCP server permet aux développeurs d'intégrer un cerveau décisionnel de type humain à des outils existants tels que Claude Code, Cursor, VS Code et Codex. Il fonctionne comme un harnais pour d'autres agents, offrant un moyen de garantir que le travail automatisé est conforme à des normes personnelles ou professionnelles spécifiques.
Les utilisateurs peuvent implémenter cela via un serveur Node.js en utilisant npx ou via une installation Python. Le système propose deux fonctions principales : consult_mind pour obtenir des directives avant qu'un agent ne commence une tâche, et review_work pour vérifier les résultats par rapport aux règles stockées. Bien que le serveur n'exécute pas de tests lui-même, il peut évaluer les preuves fournies par l'agent, telles que des captures d'écran ou des enregistrements. Pour utiliser le service, vous ajoutez l'endpoint MCP à votre agent et vous vous connectez, bien qu'aucune clé partenaire ne soit requise pour l'installation de base.
Ce que vous pouvez faire avec
- 1Vérifier l'achèvement des tâches de l'agentUn agent IA peut utiliser l'outil de révision pour comparer sa propre production à vos règles stockées avant de déclarer qu'une tâche est terminée.
- 2Obtenir des directives de projetVous pouvez donner instruction à un agent de codage de consulter votre conscience numérique pour obtenir des conseils avant qu'il ne commence un travail substantiel.
- 3Auditer les performances de l'agentLes développeurs peuvent utiliser le harnais pour détecter des violations de règles qu'un agent de codage standard pourrait manquer lors d'une révision en solo.
Extrait du README du projet. Chaque cas d'utilisation est vérifié par rapport à une citation du document.
Comment installer Mind Upload MCP
Formats vérifiés le 10 nov. 2026Installer Mind Upload MCP dans Claude Code
$ claude mcp add --env MINDUPLOAD_PARTNER_KEY=<YOUR_MINDUPLOAD_PARTNER_KEY> mindupload-sdk-python -- npx -y minduploadInstaller Mind Upload MCP dans Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"mindupload-sdk-python": {
"command": "npx",
"args": [
"-y",
"mindupload"
],
"env": {
"MINDUPLOAD_PARTNER_KEY": "<YOUR_MINDUPLOAD_PARTNER_KEY>"
}
}
}
}Installer Mind Upload MCP dans VS Code
.vscode/mcp.json
{
"servers": {
"mindupload-sdk-python": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mindupload"
],
"env": {
"MINDUPLOAD_PARTNER_KEY": "<YOUR_MINDUPLOAD_PARTNER_KEY>"
}
}
}
}Installer Mind Upload MCP dans Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"mindupload-sdk-python": {
"command": "npx",
"args": [
"-y",
"mindupload"
],
"env": {
"MINDUPLOAD_PARTNER_KEY": "<YOUR_MINDUPLOAD_PARTNER_KEY>"
}
}
}
}Installer Mind Upload MCP dans Codex
~/.codex/config.toml
[mcp_servers.mindupload-sdk-python] command = "npx" args = ["-y", "mindupload"] [mcp_servers.mindupload-sdk-python.env] MINDUPLOAD_PARTNER_KEY = "<YOUR_MINDUPLOAD_PARTNER_KEY>"
Installer Mind Upload MCP dans Gemini CLI
~/.gemini/settings.json
{
"mcpServers": {
"mindupload-sdk-python": {
"command": "npx",
"args": [
"-y",
"mindupload"
],
"env": {
"MINDUPLOAD_PARTNER_KEY": "<YOUR_MINDUPLOAD_PARTNER_KEY>"
}
}
}
}Configuration
MINDUPLOAD_PARTNER_KEYSecretPrivate partner key required for consciousness direction and work review; installation can start without it.
MINDUPLOAD_PARTNER_KEYSecretPrivate partner key required for consciousness direction and work review; installation can start without it.
MINDUPLOAD_CLONE_IDOptional owner-approved consciousness identifier for personal guidance.
MINDUPLOAD_CLONE_IDOptional owner-approved consciousness identifier for personal guidance.
MINDUPLOAD_EXTERNAL_SUBJECTStable user identifier required to link an owner-approved consciousness. A label, not a password.
MINDUPLOAD_EXTERNAL_SUBJECTStable user identifier required to link an owner-approved consciousness. A label, not a password.
MINDUPLOAD_INSTALLATION_IDStable installation identifier required for consciousness direction and work review. A label, not a password.
MINDUPLOAD_INSTALLATION_IDStable installation identifier required for consciousness direction and work review. A label, not a password.
| Nom | Description | Type |
|---|---|---|
| MINDUPLOAD_PARTNER_KEY | Private partner key required for consciousness direction and work review; installation can start without it. | Secret |
| MINDUPLOAD_PARTNER_KEY | Private partner key required for consciousness direction and work review; installation can start without it. | Secret |
| MINDUPLOAD_CLONE_ID | Optional owner-approved consciousness identifier for personal guidance. | |
| MINDUPLOAD_CLONE_ID | Optional owner-approved consciousness identifier for personal guidance. | |
| MINDUPLOAD_EXTERNAL_SUBJECT | Stable user identifier required to link an owner-approved consciousness. A label, not a password. | |
| MINDUPLOAD_EXTERNAL_SUBJECT | Stable user identifier required to link an owner-approved consciousness. A label, not a password. | |
| MINDUPLOAD_INSTALLATION_ID | Stable installation identifier required for consciousness direction and work review. A label, not a password. | |
| MINDUPLOAD_INSTALLATION_ID | Stable installation identifier required for consciousness direction and work review. A label, not a password. |
Vérifications automatisées
Exécuté le 13 nov. 2026Rapport complet →A passé nos vérifications automatisées. Il ne s'agit pas d'un audit de sécurité : lisez le code et donnez au serveur l'accès le plus restreint dont il a besoin. Fonctionnement des vérifications
- Dépôt source lié et accessibleRéussi
- Licence open source (OSI)Réussi
- Commit ou version publiée au cours de l'année écouléeRéussi
- Nom du package non proche d'un package populaireRéussi
- L'endpoint distant utilise HTTPSRéussi
- Les outils destructifs sont étiquetésNon vérifié
- Aucune instruction cachée destinée au modèleRéussi
- Aucun avis critique dans le paquet ni ses dépendancesRéussi
README
Voir sur GitHubMind 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.
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.
npx --yes --package mindupload@1.15.44 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.
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 73 operations, grouped by area:
AI Consciousnesses
| 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. |
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. |
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
| 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. |
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(...) |
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
| Method | Description |
|---|---|
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
| Method | Description |
|---|---|
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
| Method | Description |
|---|---|
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:
| Language | Install | Repository |
|---|---|---|
| Python ← you are here | pip install mindupload |
Voidborn-Industries/mindupload-sdk-python |
| Go | go get github.com/Voidborn-Industries/mindupload-sdk-go |
Voidborn-Industries/mindupload-sdk-go |
| JavaScript / TypeScript | npm install mindupload |
Voidborn-Industries/mindupload-sdk-js |
Questions sur Mind Upload MCP
Comment ajouter Mind Upload MCP à Claude Code ?
Exécutez claude mcp add --env MINDUPLOAD_PARTNER_KEY=<YOUR_MINDUPLOAD_PARTNER_KEY> mindupload-sdk-python -- npx -y mindupload dans votre terminal. Ajoutez --scope user pour le rendre disponible dans tous les projets.
Comment ajouter Mind Upload MCP à Cursor ?
Ouvrez ~/.cursor/mcp.json et ajoutez le serveur sous mcpServers, avec la configuration Cursor indiquée dans la section d'installation ci-dessus.
Que fait le MCP server Mind Upload ?
Il agit comme un harnais méta qui permet à votre conscience IA de fournir des directives via consult_mind et de vérifier les résultats via review_work par rapport à vos règles et souvenirs stockés.
Comment installer le MCP server Mind Upload ?
Vous pouvez l'installer en utilisant npx avec la commande : npx --yes --package mindupload@1.15.44 mindupload-mcp
Une clé partenaire est-elle requise pour utiliser le MCP server ?
Non, l'ajout de l'endpoint MCP à votre agent et la connexion ne nécessitent pas de clé partenaire, et l'installation seule ne lie pas de conscience et n'effectue pas de révision.
Quelle est la précision de la révision de la conscience par rapport à un agent seul ?
Lors des tests, un agent de codage seul a détecté 85 % des violations de règles, tandis que l'ajout de la révision de la conscience du propriétaire a porté la détection à 100 %.