Solana MCP by Vybe
Solana MCP developer toolkit: wallets, trades, markets, PnL, transfers, onchain, swaps & API tools.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Drive a live Isaac Sim session: any robot, poses, gain tuning, range tests, Isaac Lab training.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ISAAC_MCP_HOME, ISAAC_MCP_ROBOTต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"dex-isaac": {
"command": "uvx",
"args": [
"dex-isaac-mcp"
],
"env": {
"ISAAC_MCP_HOME": "ใส่ค่าของคุณ",
"ISAAC_MCP_ROBOT": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add dex-isaac --env ISAAC_MCP_HOME='ใส่ค่าของคุณ' --env ISAAC_MCP_ROBOT='ใส่ค่าของคุณ' -- uvx dex-isaac-mcpเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"dex-isaac": {
"command": "uvx",
"args": [
"dex-isaac-mcp"
],
"env": {
"ISAAC_MCP_HOME": "ใส่ค่าของคุณ",
"ISAAC_MCP_ROBOT": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"dex-isaac": {
"type": "stdio",
"command": "uvx",
"args": [
"dex-isaac-mcp"
],
"env": {
"ISAAC_MCP_HOME": "ใส่ค่าของคุณ",
"ISAAC_MCP_ROBOT": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ISAAC_MCP_ROBOT envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 10 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub Milokucia ซึ่งเป็นเจ้าของ repo
มีการแก้โค้ดล่าสุด 33 วันที่ผ่านมา
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 2 จาก 2 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: ISAAC_MCP_HOME
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด 33 วันที่ผ่านมา และส่งรุ่นล่าสุด (0.1.2) เข้า registry 38 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Solana MCP by Vybe, Solana MCP by Vybe, Oracle3 prediction-market arbitrage checks
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:↓ ดาวน์โหลดต่อสัปดาห์i★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
Solana MCP developer toolkit: wallets, trades, markets, PnL, transfers, onchain, swaps & API tools.
Solana MCP for wallets, trades, markets, PnL, transfers, onchain data, signable swaps and API tools.
Kalshi and Polymarket data, venue fees, no-arbitrage checks and paper execution for AI agents.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
*Recorded headless with the server's own tools (sim_frame_robot, sim_set_backdrop, sim_record_start), driving the Allegro hand example. Each caption is the request and the tool call it became.*
An MCP server that lets an AI agent (Claude Code, or any MCP client) drive a live, persistent Isaac Sim session and launch Isaac Lab training runs.
Kit takes tens of seconds to boot. If every experiment is a fresh launch, most of your time goes to waiting. Here Kit starts once inside a daemon and stays up. Each tool call lands in that running session, so changing a gain, stepping physics or taking a screenshot costs a frame, not a relaunch.
MCP client ──stdio──▶ dex_isaac_mcp (host, plain python)
│ newline-delimited JSON over a Unix socket ▼ scripts/simd.py (Isaac Lab container, Kit stays up) └─ one articulation, described by a robot JSON
0..1, where 0 is a joint's lower limit and 1 its upper limit, so agents don't need to know radians or meters.home, fist, …), which can be blended part-way.docker compose run. You can poll its status, TensorBoard scalars, checkpoints and logs.NVIDIA's official Isaac Sim MCP is a documentation search for coding assistants, and works well alongside this one. Servers like isaacsim-mcp-server and omni-mcp/isaac-sim-mcp run inside the Isaac Sim GUI and cover scene building broadly. This one runs headless, as a daemon in Docker, and focuses on tuning, measuring and training one robot.
| NVIDIA Isaac Sim MCP | In-GUI servers (isaacsim-mcp-server, omni-mcp) | dex-isaac-mcp | |
|---|---|---|---|
| What it is | Docs and code search | Kit extension inside a running Isaac Sim | External daemon; Kit stays up in a container |
| Controls the simulation | No | Yes | Yes |
| Headless / remote GPU box | n/a | Needs the GUI | Yes: headless capture, Docker, Unix socket |
| Scene building (lights, materials, sensors, asset library) | n/a | Broad | Minimal: primitive and USD props |
| Robot setup | n/a | Built-in robot library | Any USD plus a small JSON config (joints, poses, couplings, gains) |
| Measurement | n/a | Joint and prim state | Range tests that find blocked joints, tracking error, sweeps that restore the original value |
| Live tuning | n/a | Not documented | PD gains, effort, software mimic couplings |
| Isaac Lab training | n/a | Not documented | Launch, poll, TensorBoard metrics, checkpoints, stop |
| Recording | n/a | Camera captures | Captioned GIFs from an auto-framed camera, headless |
| Platform | Any | Wherever Isaac Sim runs | Linux, NVIDIA GPU, Docker, NGC |
Pick an in-GUI server to build a scene by talking to it, interactively, with a wide robot and asset library.
Pick this one to have an agent tune, debug and train a specific robot (your own, from a USD), unattended or on a remote box, with numbers it can act on instead of only screenshots.
docker login nvcr.io (user $oauthtoken, password: your NGC API key)git clone <this repo> dex-isaac-mcp && cd dex-isaac-mcp
cd docker && docker compose build && cd ..
pip install -e . # add [metrics] for train_metrics: pip install -e '.[metrics]'
claude mcp add isaac -- python -m dex_isaac_mcp
xhost +local:docker
Then ask the agent something like *"start the sim with the Franka, move it to ready and show me a screenshot."* It will call sim_up, sim_set_pose, sim_step and sim_screenshot.
From PyPI instead: pip install dex-isaac-mcp. The daemon still runs from a clone (it needs docker/ and scripts/simd.py), so point the server at it:
claude mcp add isaac -e ISAAC_MCP_HOME=/abs/path/dex-isaac-mcp -- dex-isaac-mcp
Other MCP clients can launch python -m dex_isaac_mcp (or the dex-isaac-mcp script) over stdio.
The first sim_up takes several minutes: Kit builds its shader cache and downloads Nucleus assets. Later starts are much faster.
sim_up deletes its container (--rm) when the daemon exits, so a crash on startup takes its traceback with it. To see the error, run the daemon in the foreground:
cd docker
docker compose run --rm simd scripts/simd.py --gui --robot examples/robots/franka.json docker compose run --rm simd scripts/simd.py --headless --usd /path/in/container/robot.usd docker compose run --rm simd scripts/simd.py --sliders --robot examples/robots/allegro_hand.json
--sliders opens an omni.ui panel with one slider per driven joint. The socket stays live alongside it.
| Tool | What it does |
|---|---|
sim_status | Whether the daemon is up, plus its robot, driven joints, poses, couplings and gains |
sim_up | Start the daemon container (robot, usd, gui, ground, extra_args) and wait until it answers. Does nothing if it is already up |
sim_down | Stop the daemon |
sim_reload | Restart with a different spawn property: robot, USD, pos_iters, self-collision |
sim_reset | Undo an experiment in a few frames: remove props, restore spawn gains and couplings, write joints and root back to their spawn state. ok=False means reload |
| Tool | What it does |
|---|---|
sim_inspect_joints | A USD's articulation DOFs, its loop-closure joints (excluded from the articulation) and its articulation roots. Reads the file, so it shows edits saved from the GUI |
sim_get_joint_state | Positions and velocities, plus driven joints' normalized positions and limits |
sim_get_stats | Per-joint travel and mean tracking error since the last reset |
sim_screenshot | Viewport capture, returned as an image. Needs gui=True |
sim_set_camera | Point the viewport camera |
| Tool | What it does |
|---|---|
sim_set_targets | Normalized targets, as a full vector or {joint: value} |
sim_list_poses / sim_set_pose | Named poses from the robot config. amount blends toward a pose, starting from the lower limits or from the current targets |
sim_step | Advance N physics steps (default dt 1/120 s) |
sim_play | Run continuously, or pause |
sim_wave | Sweep every driven joint through its range and return travel stats |
sim_range_test | Drive every joint from its lower limit toward a target and report the fraction of travel reached. Below 0.9 counts as blocked (self-collision, a binding linkage, too little effort) |
| Tool | What it does |
|---|---|
sim_spawn_object | Add a prop to the live scene: cuboid, sphere, cylinder, capsule, cone or a USD file, with collision. static for a fixed table or wall, kinematic for a body contact cannot move |
sim_list_objects | Every prop's current world pose |
sim_remove_object | Delete a prop |
These work headless, with no GUI or viewport. They use a dedicated camera that is independent of the GUI view.
| Tool | What it does |
|---|---|
sim_frame_robot | Aim the capture camera so the whole robot fills the frame, from a given direction. raise_frac leaves room for captions |
sim_set_capture_camera | Place the capture camera by hand |
sim_set_backdrop | A plain colored panel behind the robot. Use it with ground=False for clean footage |
sim_capture | One frame, returned as an image |
sim_record_start / sim_record_caption / sim_record_stop | Record every Nth physics step, with a caption drawn on each frame, to an animated GIF under .cache/recordings/. Anything that steps the sim is recorded |
| Tool | What it does |
|---|---|
sim_set_params | Live stiffness / damping / effort on the driven joints |
sim_set_coupling | Live software-mimic ratios, keyed by follower joint |
sim_sweep | Try several values of one live parameter (stiffness, damping, effort, coupling: ), running wave or range for each. Restores the original value afterwards. A diverging solver is recorded as a result rather than raised |
| Tool | What it does |
|---|---|
train_start | Launch a headless training run in its own container and return at once. extra_args go to the script verbatim (e.g. Hydra overrides). device pins a GPU |
train_list | Running and recent runs, and log directories holding checkpoints |
train_status | Container state, checkpoints and latest scalars |
train_logs | Tail a running container's output |
train_metrics | List TensorBoard tags, or get a downsampled series for one tag |
train_checkpoints | Checkpoints with step and size |
train_stop | Stop a run |
Training runs do not depend on the daemon or on the MCP session. They keep going after the client disconnects.
A robot is one JSON file. Only usd is required. Unknown keys are rejected, so a typo fails loudly instead of quietly falling back to a default.
{
"name": "franka", "usd": "{ISAACLAB_NUCLEUS_DIR}/Robots/FrankaEmika/panda_instanceable.usd", "fix_root_link": true, "spawn_pos": [0, 0, 0], "init_joint_pos": {"panda_joint4": -2.81, "panda_joint6": 3.04, ".*": 0.0}, "driven_joints": ["panda_joint[1-7]", "panda_finger_joint.*"], "passive_joints": [], "couplings": [{"leader": "joint_a", "follower": "joint_b", "ratio": 1.0}], "actuator": {"stiffness": 400, "damping": 40, "effort": 87, "velocity": null}, "solver": {"pos_iters": 32, "vel_iters": 4, "self_collisions": true}, "camera": {"eye": [1.8, 1.8, 1.4], "target": [0, 0, 0.4]}, "poses": {"ready": {"panda_joint[1357]": 0.5, "panda_finger_joint.*": 1.0}} }
| Key | Meaning |
|---|---|
usd | Local path (relative paths resolve from the JSON's own directory), a URL, or a path using {ISAAC_NUCLEUS_DIR} / {ISAACLAB_NUCLEUS_DIR} |
init_joint_pos | Spawn pose in the joints' own units (rad / m), keyed by regex. It must lie inside every joint's limits or spawning fails. The default is all zeros, which is out of range for e.g. Franka's joint 4 |
driven_joints | Regexes (full match) for joints that take commands. Default .* |
passive_joints | Joints whose angle is owned by a constraint, such as a closed-chain linkage. They get a zero-stiffness drive, because a live PD drive fights the constraint and the mechanism jitters |
| couplings | Software mimic joints: follower target = ratio × leader target. They are