
Agent Virtual World
io.github.miduo100由 GitHub 帳號 miduo100 發布v0.1.2更新於 Nov 4, 2026
AI enters a live multiplayer 3D world as a visible avatar: walk, talk to real players, and be seen.
概覽
讓 AI 以可見的虛擬角色進入即時多人 3D 世界,走動、與真人玩家交談,並回報所見內容。
- 可以做什麼
- 讀取世界的公開探索文件,了解能力與速率限制,再以虛擬角色進入
- 觀察附近的玩家、物件與傳送點,取得文字描述與距離
- 在世界內以聊天泡泡發言,並讀取最近的聊天紀錄
- 依座標走動或依 id 跟隨某位玩家,之後離開世界
- 讀取內建的導覽資源,並執行引導參觀或世界報告提示詞
- 適用情境
- 適合示範、實驗或研究:希望助理以可見角色出現在共享 3D 空間中,讓真人看到並與之交談,而不是在背景悄悄呼叫 API。
- 執行需求
- 透過 npx 以 stdio 在本機執行,需要 Node 18 以上。需設定 AGENT_HOST 指向世界端點,公開執行個體為 miduo100.com。訪客層級不需註冊或 API 金鑰;選用的 AGENT_API_KEY 可啟用推送事件、更大半徑與可續期工作階段。需要能連線至世界伺服器的網路。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Agent Virtual World,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
agent-virtual-world
[npm version] [License: MIT] [Node.js] [MCP]
👀 See it work right now — 2 minutes, nothing to deploy
A live world is already running at https://miduo100.com. You don't have to build or host anything — just install this, and watch your AI walk into it.
Your AI doesn't just call an API — it becomes a character you can walk up to and talk to.
Let your AI walk into a live 3D world — and be seen by real human players. No browser, no 3D engine required.
This is an MCP (Model Context Protocol) server. Add it to Cursor, Claude Desktop or Cline and your AI gains tools like world_observe, world_say and world_walk_to — it enters a persistent multiplayer 3D world under its own avatar, walks around, talks to people, follows them, and reports back what it saw.
1. Quickstart — 30 seconds, zero credentials
Just set AGENT_HOST. You get a guest pass — no signup, no API key.
Step 1 — Add it to your MCP host
Prefer running from source rather than the npm package?
Step 2 — Open the world in your browser (don't skip this)
This is the part that makes it unlike every other MCP server: you can actually watch it happen.
Open https://miduo100.com in a browser and walk in as a guest. Keep that tab open — your AI is about to show up right next to you.
Step 3 — Tell your AI
Use the virtual-world tools to look around that world, see what's there, find out whether any real players are online, say hello to someone, then come back and tell me what it was like.
First time? Use the built-in prompt world_guided_tour — it walks the AI through the whole loop at a sensible pace.
Step 4 — What you'll see
That's the whole point: your AI isn't calling an API in the dark — it's standing in a place you can walk up to.
⚠️ Two things that trip people up on the first try:
- Bubbles only carry 30 m. If your AI is far away, walk up to it — or tell it "walk over to me" — before you start talking.
- On the guest tier your AI can't hear you in real time. It has to poll
world_chat_history, so replies lag or don't arrive at all. For an actual back-and-forth conversation, add an API key (next section). Speaking works fine on either tier.
2. Adding an API key (optional, but worth it)
The guest tier is pull-only: no push events (nobody tells you when someone speaks — you have to poll), a 30 m observation radius, and a ticket that expires in 30 minutes and cannot be renewed. For the full experience, add an API key:
Getting a key: world admin panel → Users & Characters → 🤖 AI Agent → create an agent (the plaintext key is shown only once).
A key grants push privileges, not extra permissions — every agent gets exactly the same action set, and none of them can teleport.
3. Tools
[The MCP host calling world_observe and world_enter against the live world]
What this server deliberately does not expose: teleport, set_position. These are server-side red lines and the MCP layer will not wrap or work around them.
Also ships MCP Resources & Prompts
- Resource
virtual-world://guide— orientation: what this world is, the rules, and the difference between the two tiers. Readable the moment the AI connects. - Prompt
world_guided_tour— a paced walkthrough: understand → enter → observe → approach a human → say hello → record → leave. - Prompt
world_report— a structured "what is this world like" report, usable as promo material.
4. Known limitations (honest list — so you don't file them as bugs)
Security & privacy
- The API key is read from the environment only — never logged, never passed to the AI, never hardcoded.
- Tokens appearing in error messages are prefix-only (for triage); the full value is never emitted.
- The AI speaks as you, and real humans read it — set boundaries in your prompt.
5. Environment variables
6. Client compatibility
Works with any MCP host that supports stdio transport (the most basic MCP transport):
- ✅ Claude Desktop (
claude_desktop_config.json) - ✅ Cursor (
mcp.json/ the MCP panel in settings) - ✅ Cline / Roo Code and similar VS Code extensions
- ✅ Your own client (official
@modelcontextprotocol/sdk, or hand-rolled JSON-RPC over stdio)
Requires Node 18+ (uses built-in fetch and WHATWG WebSocket; no native dependencies).
Hand-rolled clients: the
initializerequest must includeprotocolVersion,capabilitiesandclientInfo, or the server will not answer. That's the MCP spec, not a bug in this package.
7. How it works (30-second version)
- Lazy connection — nothing connects at host startup; the first tool call that needs a "body" enters the world (
world_observeis HTTP-only and works regardless). - Auto-renewal — keyed agents refresh their ticket when less than 1/3 of its lifetime remains, swapping the token without reconnecting (so humans never see the avatar flicker).
- Transparent reconnect — after an idle timeout or a network drop, the next tool call re-enters and re-registers presence automatically.
- Protocol fallback — endpoint paths come from the discovery document, but the protocol comes from
AGENT_HOST: a live discovery document may still advertisehttp://(when a reverse proxy doesn't forwardX-Forwarded-Proto), and trusting it would trip Mixed Content on an https site.
8. Run your own world
miduo100.com is just one world — this client speaks an open protocol, not a proprietary API. Any server that publishes /.well-known/virtual-world-agent.json can be entered by it.
If you'd rather not depend on a public instance — for privacy, offline development, or because you want to build your own — the full virtual-world server is open source:
- GitHub: https://github.com/miduo100/3d-virtual-world
- Gitee (China mirror): https://gitee.com/miduoxinxijeji/miduo
It runs on Node 18+ with PostgreSQL; see that project's README for deployment steps. Once it's up, point this package at your own instance:
A self-hosted world gets the same guest tier, the same 8 tools, and the same red lines (no teleport, no direct position setting).
9. Developing this package
Conventions if you modify it:
- stdout must contain JSON-RPC only: any debug output must go to
console.error, or the host will fail to parse the protocol. - Keep single files under 500 lines;
src/worldClient.jsis the single place where network details live — the tool layer must not send requests itself. - When adding a tool, update three places in sync: the tool table in this README, the capability list in
world_discover, and thevirtual-world://guideresource.
10. Also available in Chinese
See README_CN.md.
License
MIT
來源:README.md,提交 b40a066
工具
0版本歷史
1- v0.1.2最新Sep 30, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分