Permite que un cliente de IA consulte la conciencia digital de un usuario para obtener dirección y revisar el trabajo de un agente comparándolo con recuerdos y reglas almacenados.
También conocido como Voidborn-Industries/mindupload-sdk-python, mindupload-sdk-python, mindupload
- Stars
- 2
- Herramientas
- —
- Descargas, 30 días
- 4785
- Última versión
- 1.15.47
- Último commit
- 13 nov 2026
- Licencia
- MIT
¿Qué es Mind Upload MCP?
Mind Upload es un MCP server. Permite que un cliente de IA consulte la conciencia digital de un usuario para obtener dirección y revisar el trabajo de un agente comparándolo con recuerdos y reglas almacenados.
Resumen generado a partir del README del proyecto
Acerca del MCP server de Mind Upload
El meta arnés de IA Mind Upload actúa como una capa de supervisión para agentes de IA al conectarlos con una conciencia digital construida a partir de los recuerdos, valores y juicio de un usuario. Este MCP server permite a los desarrolladores integrar un cerebro de toma de decisiones con características humanas en herramientas existentes como Claude Code, Cursor, VS Code y Codex. Funciona como un arnés para otros agentes, proporcionando una forma de asegurar que el trabajo automatizado se alinee con estándares personales o profesionales específicos.
Los usuarios pueden implementar esto a través de un servidor Node.js usando npx o mediante una instalación de Python. El sistema proporciona dos funciones principales: consult_mind para obtener dirección antes de que un agente comience una tarea, y review_work para verificar resultados contra las reglas almacenadas. Aunque el servidor no ejecuta pruebas por sí mismo, puede evaluar la evidencia proporcionada por el agente, como capturas de pantalla o grabaciones. Para usar el servicio, debes añadir el endpoint de MCP a tu agente e iniciar sesión, aunque no se requiere un partner key para la instalación básica.
Qué puedes hacer con él
- 1Verificar la finalización de tareas del agenteUn agente de IA puede usar la herramienta de revisión para comprobar su propio resultado contra tus reglas almacenadas antes de declarar que una tarea ha terminado.
- 2Obtener dirección del proyectoPuedes instruir a un agente de programación para que consulte tu conciencia digital para obtener orientación antes de comenzar un trabajo sustancial.
- 3Auditar el rendimiento del agenteLos desarrolladores pueden usar el arnés para detectar incumplimientos de reglas que un agente de programación estándar podría pasar por alto durante una revisión individual.
Escrito a partir del README del proyecto. Cada caso de uso se verifica con una cita del mismo.
Cómo instalar Mind Upload MCP
Formatos verificados el 10 nov 2026Instalar Mind Upload MCP en Claude Code
$ claude mcp add --env MINDUPLOAD_PARTNER_KEY=<YOUR_MINDUPLOAD_PARTNER_KEY> mindupload-sdk-python -- npx -y minduploadInstalar Mind Upload MCP en Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"mindupload-sdk-python": {
"command": "npx",
"args": [
"-y",
"mindupload"
],
"env": {
"MINDUPLOAD_PARTNER_KEY": "<YOUR_MINDUPLOAD_PARTNER_KEY>"
}
}
}
}Instalar Mind Upload MCP en VS Code
.vscode/mcp.json
{
"servers": {
"mindupload-sdk-python": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mindupload"
],
"env": {
"MINDUPLOAD_PARTNER_KEY": "<YOUR_MINDUPLOAD_PARTNER_KEY>"
}
}
}
}Instalar Mind Upload MCP en Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"mindupload-sdk-python": {
"command": "npx",
"args": [
"-y",
"mindupload"
],
"env": {
"MINDUPLOAD_PARTNER_KEY": "<YOUR_MINDUPLOAD_PARTNER_KEY>"
}
}
}
}Instalar Mind Upload MCP en 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>"
Instalar Mind Upload MCP en Gemini CLI
~/.gemini/settings.json
{
"mcpServers": {
"mindupload-sdk-python": {
"command": "npx",
"args": [
"-y",
"mindupload"
],
"env": {
"MINDUPLOAD_PARTNER_KEY": "<YOUR_MINDUPLOAD_PARTNER_KEY>"
}
}
}
}Configuración
MINDUPLOAD_PARTNER_KEYSecretoPrivate partner key required for consciousness direction and work review; installation can start without it.
MINDUPLOAD_PARTNER_KEYSecretoPrivate 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.
| Nombre | Descripción | Tipo |
|---|---|---|
| MINDUPLOAD_PARTNER_KEY | Private partner key required for consciousness direction and work review; installation can start without it. | Secreto |
| MINDUPLOAD_PARTNER_KEY | Private partner key required for consciousness direction and work review; installation can start without it. | Secreto |
| 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. |
Verificaciones automáticas
Ejecutado 13 nov 2026Informe completo →Pasó nuestras verificaciones automáticas. Esto no es una auditoría de seguridad: lee el código y dale al servidor el acceso más limitado que necesite. Cómo funcionan las verificaciones
- Repositorio de origen vinculado y accesibleAprobado
- Licencia de código abierto (OSI)Aprobado
- Commit o lanzamiento en el último añoAprobado
- El nombre del paquete no es similar a un paquete popularAprobado
- El endpoint remoto usa HTTPSAprobado
- Las herramientas destructivas están etiquetadasNo verificado
- Sin instrucciones ocultas para el modeloAprobado
- Sin avisos críticos en el paquete ni en sus dependenciasAprobado
README
Ver en 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 |
Preguntas sobre Mind Upload MCP
¿Cómo agrego Mind Upload MCP a Claude Code?
Ejecuta claude mcp add --env MINDUPLOAD_PARTNER_KEY=<YOUR_MINDUPLOAD_PARTNER_KEY> mindupload-sdk-python -- npx -y mindupload en tu terminal. Añade --scope user para que esté disponible en todos los proyectos.
¿Cómo agrego Mind Upload MCP a Cursor?
Abre ~/.cursor/mcp.json y añade el servidor en mcpServers, usando la configuración de Cursor que se muestra en la sección de instalación de arriba.
¿Qué hace el MCP server Mind Upload?
Actúa como un meta arnés que permite que tu conciencia de IA proporcione dirección mediante consult_mind y verifique resultados mediante review_work basándose en tus reglas y recuerdos almacenados.
¿Cómo instalo el MCP server Mind Upload?
Puedes instalarlo usando npx con el comando: npx --yes --package mindupload@1.15.44 mindupload-mcp
¿Es necesario un partner key para usar el MCP server?
No, añadir el endpoint de MCP a tu agente e iniciar sesión no requiere un partner key, y la instalación por sí sola no vincula una mente ni realiza una revisión.
¿Qué tan precisa es la revisión de la conciencia en comparación con un agente por sí solo?
En las pruebas, un agente de programación por sí solo detectó el 85% de los incumplimientos de reglas, mientras que al añadir la revisión de la conciencia del propietario, la detección aumentó al 100%.