Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Your AI mind directs coding agents; work reviewed against your memories: Claude Code, Codex, Cursor
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
MINDUPLOAD_PARTNER_KEY, MINDUPLOAD_INSTALLATION_ID, MINDUPLOAD_EXTERNAL_SUBJECT, MINDUPLOAD_CLONE_IDค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://mcp.mindupload.app/mcpเปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"mindupload": {
"command": "npx",
"args": [
"-y",
"mindupload"
],
"env": {
"MINDUPLOAD_PARTNER_KEY": "ใส่ค่าของคุณ",
"MINDUPLOAD_INSTALLATION_ID": "ใส่ค่าของคุณ",
"MINDUPLOAD_EXTERNAL_SUBJECT": "ใส่ค่าของคุณ",
"MINDUPLOAD_CLONE_ID": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http mindupload https://mcp.mindupload.app/mcpclaude mcp add mindupload --env MINDUPLOAD_PARTNER_KEY='ใส่ค่าของคุณ' --env MINDUPLOAD_INSTALLATION_ID='ใส่ค่าของคุณ' --env MINDUPLOAD_EXTERNAL_SUBJECT='ใส่ค่าของคุณ' --env MINDUPLOAD_CLONE_ID='ใส่ค่าของคุณ' -- npx -y minduploadเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"mindupload": {
"url": "https://mcp.mindupload.app/mcp"
}
}
}วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"mindupload": {
"command": "npx",
"args": [
"-y",
"mindupload"
],
"env": {
"MINDUPLOAD_PARTNER_KEY": "ใส่ค่าของคุณ",
"MINDUPLOAD_INSTALLATION_ID": "ใส่ค่าของคุณ",
"MINDUPLOAD_EXTERNAL_SUBJECT": "ใส่ค่าของคุณ",
"MINDUPLOAD_CLONE_ID": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"mindupload": {
"type": "http",
"url": "https://mcp.mindupload.app/mcp"
}
}
}วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"mindupload": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mindupload"
],
"env": {
"MINDUPLOAD_PARTNER_KEY": "ใส่ค่าของคุณ",
"MINDUPLOAD_INSTALLATION_ID": "ใส่ค่าของคุณ",
"MINDUPLOAD_EXTERNAL_SUBJECT": "ใส่ค่าของคุณ",
"MINDUPLOAD_CLONE_ID": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://mcp.mindupload.app/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
MINDUPLOAD_INSTALLATION_ID envMINDUPLOAD_EXTERNAL_SUBJECT envMINDUPLOAD_CLONE_ID envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ชื่อและคำอธิบายเครื่องมือตามที่ server ตอบมาเมื่อ 6 พ.ย. 2569 ผู้ทำเป็นคนเขียน ไม่ใช่เรา แสดงเป็นข้อความล้วน
consult_mindAsk the owner's Mind Upload consciousness, an AI built from the owner's own memories, values and way of thinking, how they would approach this task. Call it before substantial work (a release, deploy, migration, deletion, payment or privacy change, or a choice the owner's priorit
review_workBefore you tell the user substantial work is done, ask the owner's Mind Upload consciousness to review it against the original request, the evidence you supply, and the rules and past mistakes it remembers. Supply the original request, the actual result or diff excerpts, and the
share_evidenceShare a screenshot, recording or audio clip of the work privately with the owner's consciousness. Returns an evidence_id and an upload URL: upload the file's bytes with your shell, then pass evidence_ids to review_work or consult_mind. Analyzed for that task only, never kept as a
rememberSave a note, decision or fact into the owner's consciousness, when the owner asks. It waits for their review unless they auto-keep. Needs the "save memories" permission.
list_pending_memoriesList memories waiting for the owner's review, so the owner can go through them with you. Needs the "review pending memories" permission.
review_pending_memoryApprove, reject or rewrite one pending memory, only as the owner decides. Needs the "review pending memories" permission.
connection_statusShow which Mind Upload account approval and consciousnesses this connection uses, its status, and how to disconnect or revoke it.
disconnectEnd this Mind Upload connection and the owner approval behind it. Only when the owner asks to disconnect.
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub Voidborn-Industries ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตอบกลับใน 219 ms (HTTP 200)
ไม่ต้องล็อกอิน
อ่านคำอธิบายเครื่องมือ 8 ตัวแล้ว ไม่พบคำสั่งแอบแฝงถึง AI
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: MINDUPLOAD_PARTNER_KEY
ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.15.41) เข้า registry วันนี้
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Symantec Cloud DLP AIops
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Governed Symantec Cloud DLP — 14 MCP tools, read-only with audit.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
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.
You ask your coding agent for a script that reports monthly usage. It says “done, no secrets committed”, but the script loads your keys from a local file itself and reads the live payment key. The Mind Upload MCP server lets the AI consciousness you built from your own memories 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 in our own staged test: 8 review tasks on one test account, each run twice. For 4 of the tasks we wrote a matching rule into the account's memories. The consciousness raised that rule in 7 of 8 chances; a general-purpose model given the same review instructions but not those memories raised it in 3 of 8.
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.40 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.
MindUploadError.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.
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
from mindupload import MindUpload
mu = MindUpload(partner_key="pk_live_...")
session = mu.login(username="ada", password="s3cret")
reply = mu.rag( username="ada", password=session.jwt, codename="muse", text="What did we talk about yesterday?", ) print(reply.response_text)
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.
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 )
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)
All 73 operations, grouped by area:
| 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. |
| Method | Description |
|---|---|
get_quota(...) | Check your partner API rate limits, credit caps, and current usage. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| Method | Description |
|---|
| create_call_session(...) | Start a live voice and video call in a chatroom, or joi
ตัดมาแค่ช่วงต้น อ่านต่อใน repo