Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Universal CPU profiler designed for humans and AI agents
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"uniprof": {
"command": "npx",
"args": [
"-y",
"uniprof",
"mcp",
"run"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add uniprof -- npx -y uniprof mcp runวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"uniprof": {
"command": "npx",
"args": [
"-y",
"uniprof",
"mcp",
"run"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"uniprof": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"uniprof",
"mcp",
"run"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub indragiek ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.3.4) เข้า registry 14 เดือนที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Node.js ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Dialyne
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.
Real phone calls in France for AI agents: dial +33 numbers, menus, hold, AI disclosure.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
uniprofuniprof simplifies CPU profiling for humans and AI agents. Profile any application without code changes or added dependencies.
# Profile and analyze any app in one step
npx uniprof python script.py
uniprof implements a common interface over multiple profilers that specialize in different platforms and runtimes. It automatically detects which profiler to use based on the command being executed, runs the profiler, transforms the varying output formats into a single format, and runs statistical analysis on the data to identify hotspots.
| Platform | Profiler | Container | Host | Min Version |
|---|---|---|---|---|
| Python | py-spy | ✅ | ✅ | Python 3.7+ |
| Node.js | 0x | ✅ | ✅ | Node 14+ |
| Ruby | rbspy | ✅ | ✅ | Ruby 2.5+ |
| PHP | Excimer | ✅ | ✅ | PHP 7.2+ |
| JVM | async-profiler | ✅ | ✅ | Java 8+ |
| .NET | dotnet-trace | ✅ | ✅ | .NET 5+ |
| BEAM | perf | ✅ | ✅* | OTP 24+ |
| Native (macOS) | Instruments | ❌ | ✅ | Xcode 14.3+ |
| Native (Linux) | perf | ✅ | ✅ | Linux 2.6.31+ |
\* Linux only for host mode
tl;dr: macOS or Linux with Docker installed
uniprof is designed to run on macOS and Linux but has primarily been developed & tested on macOS. If you find any bugs when running on Linux, please report them. Running on a Windows host is currenly not supported, but you can run on Linux installed on Windows via WSL2. Note that when using uniprof via WSL2, profiling native Windows executables is not supported, but you can still use the profilers for the higher level language runtimes like Python and Node.js.
Profiling tools are often non-trivial to set up correctly and can require elevated privileges. To simplify set up and provide better isolation for the profiled code, uniprof defaults to using Docker containers for each runtime that are pre-configured to run specific profiling tools. uniprof mounts your workspace in the container and executes the program with the profiler attached. uniprof also supports profiling outside the container if the host system has the profiling tools installed by running with the --mode host flag. The only case where containerized execution is not supported is when profiling a native Mach-O binary on macOS, since Apple Instruments cannot run inside a container.
npm install -g uniprof
# Install uniprof MCP server automatically
uniprof mcp install claudecode uniprof mcp install cursor uniprof mcp install vscode
Supported clients for auto-installation: amp, claudecode, codex, cursor, gemini, vscode, zed
If auto-installation is not supported for your client, add an MCP server using the stdio transport with the command npx -y uniprof mcp run.
For detailed MCP documentation see docs/mcp.md.
Profile and analyze in one step:
# Profile most languages and get immediate analysis
uniprof python app.py uniprof node server.js uniprof ruby script.rb uniprof java -jar myapp.jar uniprof dotnet MyApp.dll uniprof ./my-native-app
uniprof --visualize python app.py
Save profiles to analyze and visualize later:
# 1. Check environment (optional)
uniprof bootstrap
uniprof record -o profile.json -- python app.py uniprof record -o profile.json -- node server.js uniprof record -o profile.json -- ruby script.rb uniprof record -o profile.json -- php script.php uniprof record -o profile.json -- java -jar myapp.jar uniprof record -o profile.json -- ./gradlew run uniprof record -o profile.json -- ./mvnw spring-boot:run uniprof record -o profile.json -- dotnet MyApp.dll uniprof record -o profile.json -- elixir script.exs uniprof record -o profile.json -- mix run uniprof record -o profile.json -- ./my-native-app uniprof record -o profile.json -- /Applications/MyApp.app
uniprof analyze profile.json
uniprof visualize profile.json
For detailed command line options documentation see docs/cli.md.
Use the --mode option to control how profiling runs:
# Auto mode (default)
uniprof record -o profile.json -- python script.py
uniprof record --mode host -o profile.json -- python script.py
uniprof record --mode container -o profile.json -- ./my-linux-app
Native profiling requires debug information for meaningful results. Debug symbols enable the profiler to map memory addresses to function names, providing readable output instead of just hexadecimal addresses. Additionally, frame pointers improve call stack accuracy, especially for optimized code.
| Compiler | DWARF Debug Info | Frame Pointers | Notes |
|---|---|---|---|
| gcc | gcc -g -o myapp main.c | gcc -fno-omit-frame-pointer -o myapp main.c | Use -g3 for maximum debug info, -ggdb for GDB-specific extensions |
| clang | clang -g -o myapp main.cpp | clang -fno-omit-frame-pointer -o myapp main.cpp | Use -gfull on macOS for complete debug info |
| swift | swiftc -g main.swift | swiftc -Xcc -fno-omit-frame-pointer main.swift | Debug builds include symbols by default with swift build |
| cargo | cargo build (debug mode) cargo build --release + [profile.release] debug = true | RUSTFLAGS="-C force-frame-pointers=yes" cargo build | Debug builds include DWARF by default; for release builds, add debug = true to Cargo.toml | | go | go build -gcflags=all="-N -l" | Built-in, always enabled | Go includes debug info by default; -gcflags disables optimizations for better debugging | | zig | zig build-exe -O Debug main.zig | zig build-exe -fno-omit-frame-pointer main.zig | Use -O ReleaseSafe with debug info for optimized builds with symbols | | ghc | ghc -g -rtsopts main.hs | ghc -fno-omit-frame-pointer main.hs | Use -prof for profiling builds; -rtsopts enables runtime profiling options |
All uniprof source code in this repository is licensed under the MIT License. See LICENSE.
uniprof downloads and runs Docker images that bundle third-party software. The Dockerfiles used to build these images can be found in containers/. These images and their contents are not covered by the MIT license and are governed by their own licenses. uniprof does not grant rights to those components and does not relicense them.