Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Read-only time-series bootstrap server: diagnose a series and compute confidence intervals.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"tsbootstrap": {
"command": "uvx",
"args": [
"tsbootstrap"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add tsbootstrap -- uvx tsbootstrapวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"tsbootstrap": {
"command": "uvx",
"args": [
"tsbootstrap"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"tsbootstrap": {
"type": "stdio",
"command": "uvx",
"args": [
"tsbootstrap"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub astrogilda ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.7.3) เข้า registry 38 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, debuff
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.
Let coding agents play, test and tune your 2D web game: live state, explained errors, replays, fuzz.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Fast, dependence-aware uncertainty for one time series or ten thousand. Block, model-based, and wild resampling; confidence and prediction intervals; fused statistics without replicate tensors. Explore the documentation .
tsbootstrap makes the sampling design explicit through typed method specifications, assumption metadata, and replayable run metadata. Its optional compiled reducers calculate statistics while generating resamples, and its panel API supports unequal-length series.
| Measured proof | Result | Scope and receipt |
|---|---|---|
Four shared methods against arch.apply | Faster in all 16 measured cells; 4.7x to 33x on the longer series | IID, moving, circular, stationary; mean statistic; n=2,000, B=999 or 10,000; optional compiled reducer on eight cores; settled-min receipt and methodology. |
| Ten thousand series, one fused pass | 220x faster than a per-series reduce loop | Time, B=1,000, n=200, MovingBlock(20) mean; panel benchmark. |
| Same panel, without the resampled-path tensor | 141x less peak memory than materialize-then-reduce | Memory, same workload; materialization is a different baseline from the time comparison; panel benchmark. |
Read the engineering behind these results in Count the bytes, not the FLOPs and Ten thousand series, one pass.
| Capability | In tsbootstrap | Comparison boundary |
|---|---|---|
| Shared observation bootstrap methods | IID, moving block, circular block, stationary block | All four are also in arch.bootstrap and are covered by the measured comparison. |
| Additional resampling | Non-overlapping and tapered blocks; recursive AR, ARIMA, VAR and sieve bootstraps; wild and block-wild innovations | Outside the four-method head-to-head benchmark. |
| Uncertainty workflows | Bootstrap confidence intervals, AR forecast bands, EnbPI and adaptive conformal calibration | These workflows are not part of the speed comparison. |
| Large panels and tooling | Ragged-panel reducers, method diagnostics and metadata, optional read-only MCP tools | The panel benchmark compares three tsbootstrap workflows, not arch. |
The speed numbers describe the compiled named-statistic reduce path; the default NumPy backend, arbitrary Python statistics, materialized samples, and single-thread execution have distinct performance profiles. See the full benchmark grid for those paths. The arch bootstrap module also offers independent-samples bootstrapping, and the broader arch package includes econometric tools. Neither is covered by this four-method comparison.
tsbootstrap exposes one typed entry point, bootstrap, configured with a method specification. The same call works for every method.
import numpy as np
from tsbootstrap import bootstrap, MovingBlock
rng = np.random.default_rng(0) innovations = rng.standard_normal(200) x = np.empty_like(innovations) x[0] = innovations[0] for t in range(1, len(x)): x[t] = 0.6 * x[t - 1] + innovations[t]
result = bootstrap(x, method=MovingBlock(block_length="auto"), n_bootstraps=999, random_state=0)
samples = result.values() # (n_bootstraps, n) resampled series oob = result.get_oob_mask() # (n_bootstraps, n) out-of-bag mask
Choose a method spec for the structure you need (block lengths default to the automatic Politis-White selection):
from tsbootstrap import StationaryBlock, ResidualBootstrap, SieveAR, AR, ARIMA, diagnose
bootstrap(x, method=StationaryBlock(avg_block_length="auto"))
bootstrap(x, method=ResidualBootstrap(model=AR(order=2))) bootstrap(x, method=ResidualBootstrap(model=ARIMA(order=(1, 1, 1)))) bootstrap(x, method=SieveAR())
print(diagnose(x).recommended_methods)
Inputs can be NumPy arrays, lists, or pandas / Polars DataFrames and Series. The result is a BootstrapResult carrying the samples, provenance metadata, and out-of-bag / in-bag primitives. For the sktime ecosystem, the same methods are also available as estimator classes (MovingBlockBootstrap, ARResidualBootstrap, SieveBootstrap, and the rest) under tsbootstrap.adapters.
The uq layer turns resampled series into prediction intervals. forecast_intervals gives forward forecast bands for an AR model; EnbPIEnsemble produces out-of-bag prediction intervals for an sklearn-style regressor, with calibrators for stationary, volatility-clustered, and drifting data (static, sliding window, and the adaptive ACI, AgACI, and NexCP schemes); and bootstrap_reduce streams a per-replicate statistic so calibration scales to large replicate counts without holding every path in memory.
from tsbootstrap import AR, forecast_intervals
lower, upper, median = forecast_intervals(x, model=AR(order=2), horizon=12, alpha=0.1)
For a confidence interval on a statistic of one series, conf_int runs the bootstrap and reads the interval in one call:
from tsbootstrap import IID, conf_int
lower, upper, point = conf_int(x, "mean", method=IID(), kind="bca", alpha=0.1)
The conformal pieces (EnbPIEnsemble and the calibrators) need the uq extra (scikit-learn). The interactive tutorial gallery works through every method on real and synthetic data, including a "which bootstrap should I use?" decision guide.
tsbootstrap ships a read-only Model Context Protocol server so an MCP client (an LLM agent, an IDE) can diagnose a short series and compute a bootstrap confidence interval without writing any Python. Run it with no install step:
uvx --from "tsbootstrap[mcp]" tsbootstrap-mcp
It speaks the stdio transport and exposes exactly two read-only tools:
diagnose_series: serial-dependence and stationarity diagnostics, a recommended Politis-White block length, and the bootstrap methods the server supports for the series.bootstrap_confidence_interval: a percentile confidence interval for the mean, median, std, or variance, using an i.i.d. or block bootstrap.Both tools accept at most 500 observations and run at most 500 replicates. For larger series, model-based methods, or the uncertainty layer, use the library directly in a local script.
Requires Python 3.10 or higher.
# with uv (recommended):
uv add tsbootstrap # core: i.i.d. and block methods uv add "tsbootstrap[models]" # adds statsmodels for ARIMA
pip install tsbootstrap pip install "tsbootstrap[models]"
AR, VAR, and sieve fitting use the core NumPy implementation. ARIMA imports statsmodels lazily and requires the models extra.
*Left: speedup of the compiled reduce path over the arch library on the four overlapping methods. Right: peak memory before and after on the two headline reduce workloads (baseline = materialize every path, then reduce). The figure and the table below are generated from the committed benchmark data in benchmarks/results/; regenerate with python benchmarks/plot_launch.py.*
tsbootstrap ships an optional compiled backend (backend="compiled", via the [accel] extra). On the measured mean-reduction workload it is faster than arch.apply for each of the four shared resampling methods. The table below is the speedup of the streaming reduce path over arch.apply on an 8-core CPU (higher is better), read from benchmarks/results/vs_arch_ccx33_2026-07-11_settled.json (the settled-min statistic; methodology in benchmarks/README.md).
| Method | n=200, B=999 | n=200, B=10000 | n=2000, B=999 | n=2000, B=
ตัดมาแค่ช่วงต้น อ่านต่อใน repo