ต้นแบบ · รุ่นทดลอง: มีทุก server ในทะเบียนทางการ อัปเดตทุก 30 นาที รีวิวและบัญชีผู้ใช้จะมาในขั้นถัดไป
PopNx MCPที่รวม MCP สำหรับคนใช้ AI · อธิบายเป็นภาษาคน

Typecast

โดย nilayp-codesรุ่น 0.1.0i★ –iรันบนเครื่อง
ชื่อใน registryio.github.nilayp-codes/typecast

ติดตั้ง

ภาพรวม

คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)

Validates job-posting JSON against a strict schema; returns one fixable error line per problem.

สามเสาของ PopNx MCP

สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน

ใช้ทำอะไรได้

ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry

  • การเชื่อมต่อ: รันบนเครื่อง
  • ช่องทาง (transport): stdio
  • หมวด: เครื่องมือนักพัฒนา

ติดตั้ง

เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง

ก่อนติดตั้ง

ต้องเตรียมก่อน

  • PyPIติดตั้ง uv ของ Python (มีคำสั่ง uvx) ในเครื่อง

คุณใช้แอปไหน

เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”

เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json

{
  "mcpServers": {
    "typecast": {
      "command": "uvx",
      "args": [
        "typecast-mcp"
      ]
    }
  }
}

พิมพ์คำสั่งนี้ใน Terminal

claude mcp add typecast -- uvx typecast-mcp

เปิดใน Cursor

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json

{
  "mcpServers": {
    "typecast": {
      "command": "uvx",
      "args": [
        "typecast-mcp"
      ]
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

เปิดใน VS Code

หรือคัดลอกค่าตั้งเอง

วางในไฟล์ .vscode/mcp.json ของโปรเจกต์

{
  "servers": {
    "typecast": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "typecast-mcp"
      ]
    }
  }
}

เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง

ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น

ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี

ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README

ทำอะไรได้บ้าง

รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง

ผลตรวจเบื้องต้นi

เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 8 พ.ย. 2569

  • ✓ ผ่าน

    ตัวตนผู้ทำตรงกับ repo

    ชื่อใน registry ยืนยันด้วยบัญชี GitHub nilayp-codes ซึ่งเป็นเจ้าของ repo

  • … ยังไม่ตรวจ

    ยังมีคนดูแล

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • … ยังไม่ตรวจ

    มีสัญญาอนุญาต (license)

    ยังไม่ได้อ่านข้อมูล repo จาก GitHub

  • – ไม่เกี่ยว

    endpoint ตอบ

    ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต

  • – ไม่เกี่ยว

    ล็อกอินแบบ OAuth

    ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน

  • … ยังไม่ตรวจ

    คำอธิบายเครื่องมือไม่มีคำสั่งแอบแฝง

    รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต

เทียบกับตัวอื่นในหมวด เครื่องมือนักพัฒนาi

  • ดาวมากกว่า 0% ของอีก 4923 ตัวในหมวดนี้
  • ส่งรุ่นใหม่เข้า registry ล่าสุดกว่า 96% ของอีก 4923 ตัวในหมวดนี้
  • ผลตรวจเบื้องต้นดีกว่าหรือเท่ากับ 100% ของอีก 4923 ตัวในหมวดนี้

เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo

คำถามที่พบบ่อย

Typecast ปลอดภัยไหม?

จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น

ต้องใช้กุญแจหรือรหัสอะไรบ้าง?

registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก

ตัวนี้รันบนเครื่องหรือบนคลาวด์?

รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)

ยังมีคนดูแลอยู่ไหม?

repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.0) เข้า registry เมื่อวาน

ใช้กับโปรแกรมไหนได้บ้าง?

โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย

มีตัวไหนใช้แทนได้บ้าง?

ในหมวดเดียวกันมี GitHub, Desktop Commander, Cloudflare MCP

ตัวที่ใช้แทนได้

server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว

อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi

GitHub

โดย github

server ทางการของ GitHub ให้ AI อ่านและจัดการโค้ด issue และ pull request ในบัญชีของคุณได้ ใช้ผ่านคลาวด์ของ GitHub หรือรันในเครื่องด้วย Docker ก็ได้

บนเครื่องหรือคลาวด์★ 34,245MITอัปเดต 5 วันที่ผ่านมา
ติดตั้ง

Desktop Commander

โดย wonderwhy-er

MCP server for terminal commands, file operations, and process management

รันบนเครื่อง★ 10,225MITอัปเดต 17 วันที่ผ่านมา
ติดตั้ง

Cloudflare MCP

โดย cloudflare

Cloudflare MCP servers

รันบนคลาวด์★ 4,446Apache-2.0อัปเดต 14 เดือนที่ผ่านมา
ติดตั้ง

README จากผู้ทำ

เปิดอ่าน README

ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ

Typecast

LLM agent that turns messy job descriptions into schema-validated, typed JSON — and measures how often that fails.

Key findings (two Qwen models via OpenRouter, 30 real job descriptions):

  • Schema mode makes output valid, not correct. In setup C both models were valid 98.9% of the time, at lower cost than retry, yet end-to-end accuracy was 67.1% (7B) and 84.7% (235B).
  • Error-feedback retry fixed the small model, not the large one. Setup B was 98.9% valid for the 7B but 88.9% for the 235B, which failed on jd_002 in all four setup-B runs. A count-aware retry message did not change that.
  • No run reached my 90% field-accuracy goal (best: 87.3%), and runs vary. The same setup moved by about 8 points end to end between runs, so a gap between two single runs is not conclusive.

60-second walkthrough:

https://github.com/user-attachments/assets/c4a2572c-88a2-49a3-8e20-176010877154

CLI and package name: soa · MCP server on PyPI: typecast-mcp

Results

Two open-weight models through OpenRouter, 30 real job descriptions, four setups. Field accuracy is scored against 20 hand-verified gold labels (see Limitations for how they were made). With 3 runs, the figure is the mean and the brackets are min–max across the runs; with 1 run it is that single run. A = plain prompt, no retry; B = plain prompt + error-feedback retry; C = provider schema mode, no retry; D = schema mode + retry.

modelsetuprunsfinal validend-to-end accuracycost per 30-doc run
qwen-2.5-7b-instructA · plain183.3%50.4%$0.0081
qwen-2.5-7b-instructB · plain + retry398.9% (96.7%-100.0%)67.1% (62.9%-70.4%)$0.0103 ($0.0101-$0.0105)
qwen-2.5-7b-instructC · schema398.9% (96.7%-100.0%)67.1% (65.0%-69.8%)$0.0076 ($0.0076-$0.0076)
qwen-2.5-7b-instructD · schema + retry1100.0%70.0%$0.0080
qwen3-235b-a22b-2507A · plain170.0%60.4%$0.0120
qwen3-235b-a22b-2507B · plain + retry388.9% (86.7%-93.3%)75.6% (72.8%-80.9%)$0.0211 ($0.0199-$0.0234)
qwen3-235b-a22b-2507C · schema398.9% (96.7%-100.0%)84.7% (82.8%-85.8%)$0.0136 ($0.0134-$0.0140)
qwen3-235b-a22b-2507D · schema + retry1100.0%85.4%$0.0143

Full table: first-try valid, avg calls and field accuracy too

modelsetuprunsfirst-try validfinal validavg callsfield accuracy (valid outputs)end-to-end accuracycost per 30-doc run
qwen-2.5-7b-instructA: plain prompt, no retrysingle run83.3%83.3%1.0062.9%50.4%$0.0081
qwen-2.5-7b-instructB: plain prompt + error-feedback retrymean of 3 runs (min–max)82.2% (80.0%-83.3%)98.9% (96.7%-100.0%)1.20 (1.17-1.23)68.2% (66.0%-70.4%)67.1% (62.9%-70.4%)$0.0103 ($0.0101-$0.0105)
qwen-2.5-7b-instructC: schema mode, no retrymean of 3 runs (min–max)98.9% (96.7%-100.0%)98.9% (96.7%-100.0%)1.00 (1.00-1.00)68.2% (66.5%-69.8%)67.1% (65.0%-69.8%)$0.0076 ($0.0076-$0.0076)
qwen-2.5-7b-instructD: schema mode + retrysingle run96.7%100.0%1.0370.0%70.0%$0.0080
qwen3-235b-a22b-2507A: plain prompt, no retrysingle run70.0%70.0%1.0086.6%60.4%$0.0120
qwen3-235b-a22b-2507B: plain prompt + error-feedback retrymean of 3 runs (min–max)76.7% (73.3%-80.0%)88.9% (86.7%-93.3%)1.34 (1.33-1.37)85.6% (85.1%-86.0%)75.6% (72.8%-80.9%)$0.0211 ($0.0199-$0.0234)
qwen3-235b-a22b-2507C: schema mode, no retrymean of 3 runs (min–max)98.9% (96.7%-100.0%)98.9% (96.7%-100.0%)1.00 (1.00-1.00)86.1% (85.6%-87.0%)84.7% (82.8%-85.8%)$0.0136 ($0.0134-$0.0140)
qwen3-235b-a22b-2507D: schema mode + retrysingle run100.0%100.0%1.0085.4%85.4%$0.0143

How to read it:

  • "Mean of 3 runs (min–max)" (B and C) is the mean of three runs on the same 30 documents, with the lowest and highest run in brackets. It is a spread across runs, not an interval estimate. The B runs are the three runs made after the retry-feedback fix described below. The C runs are the first C run plus two repeats. "Single run" (A and D) is one draw each: the repeats show the same setup moving by about 8 points end to end between runs (235B setup B: 72.8% to 80.9%). Each run's own 95% interval (Wilson for the validity columns, bootstrap for the accuracy columns) is in the per-run table at the end of this section; the single runs of A and D have none, because they were made before the interval code existed.
  • First-try / final valid: share of the 30 documents whose first reply, or any reply within 3 attempts, passed validation. Avg calls: model calls per document.
  • Field accuracy (valid outputs) is measured only on documents that produced a valid posting, so it flatters a setup that fails often (235B setup A: 86.6% field accuracy, but only 70.0% of the labelled documents had a valid output to score). End-to-end accuracy counts a failed document as wrong on every field and is the number to trust when setups differ in validity.
  • Cost is the provider-reported cost of one run over the 30 documents. Temperature was not set (the provider default applied, value unknown).
My targets, and whether they were met

I set three targets for setup B before running anything: final validity of 30/30, at most 1.3 calls per document on average, and at least 90% field accuracy. Result, per run (the three runs after the retry fix):

target (setup B)qwen-2.5-7b-instructqwen3-235b-a22b-2507
final validity 30/30met in 2 of 3 runs (100.0%, 100.0%, 96.7%)missed in all 3 (86.7%, 93.3%, 86.7%)
avg calls <= 1.3met (1.20, 1.17, 1.23)missed (1.37, 1.33, 1.33)
field accuracy >= 90%missed (70.4%, 68.1%, 66.0%)missed (85.7%, 85.1%, 86.0%)

The 90% field-accuracy target was missed by every run of both models, in every setup. The best number anywhere is 87.3% (235B, setup B, first-round run).

Every run, with 95% intervals (results/summary.md, verbatim)

Rows 1-8: the first round, one run per model and setup (A, B, C, D for the 7B, then for the 235B). These were written before the interval code existed, so they have none. Rows 9-18: the repeat round, in order 7B B x3, 7B C x2, 235B B x3, 235B C x2. Intervals are in brackets. Columns: field acc is over valid outputs, coverage is the share of the 20 labelled documents with a valid output, e2e acc counts failures as wrong.

modelsetupnfirst-tryfinalavg callsfield acc (norm)coveragee2e acc (norm)cost
openrouter/qwen/qwen-2.5-7b-instructA3083.3%83.3%1.0062.9%80.0%50.4%$0.0081
openrouter/qwen/qwen-2.5-7b-instructB3086.7%96.7%1.1768.3%95.0%64.8%$0.0102
openrouter/qwen/qwen-2.5-7b-instructC30100.0%100.0%1.0069.8%100.0%69.8%$0.0076
openrouter/qwen/qwen-2.5-7b-instructD3096.7%100.0%1.0370.0%100.0%70.0%$0.0080
openrouter/qwen/qwen3-235b-a22b-2507A3070.0%70.0%1.0086.6%70.0%60.4%$0.0120
openrouter/qwen/qwen3-235b-a22b-2507B3083.3%86.7%1.3387.3%85.0%74.3%$0.0186
openrouter/qwen/qwen3-235b-a22b-2507C30100.0%100.0%1.0085.8%100.0%85.8%$0.0140
openrouter/qwen/qwen3-235b-a22b-2507D30100.0%100.0%1.0085.4%100.0%85.4%$0.0143
openrouter/qwen/qwen-2.5-7b-instructB3080.0% [62.7-90.5]100.0% [88.6-100.0]1.2070.4% [64.4-76.9]100.0%70.4% [64.4-76.9]$0.0104
openrouter/qwen/qwen-2.5-7b-instructB3083.3% [66.4-92.7]100.0% [88.6-100.0]1.1768.1% [61.4-74.7]100.0%68.1% [61.4-74.7]$0.0101
openrouter/qwen/qwen-2.5-7b-instructB3083.3% [66.4-92.7]96.7% [83.3-99.4]1.2366.0% [59.6-72.2]95.0%62.9% [54.5-70.5]$0.0105
openrouter/qwen/qwen-2.5-7b-instructC30100.0% [88.6-100.0]100.0% [88.6-100.0]1.0066.5% [59.6-73.8]100.0%66.5% [59.6-73.8]$0.0076
openrouter/qwen/qwen-2.5-7b-instructC3096.7% [83.3-99.4]96.7% [83.3-99.4]1.0068.4% [61.3-75.0]95.0%65.0% [55.2-73.3]$0.0076
openrouter/qwen/qwen3-235b-a22b-2507B3076.7% [59.1-88.2]86.7% [70.3-94.7]1.3785.7% [81.3-89.6]85.0%72.8% [58.4-84.8]$0.0234
openrouter/qwen/qwen3-235b-a22b-2507B3073.3% [55.6-85.8]93.3% [78.7-98.2]1.3385.1% [81.1-88.9]95.0%80.9% [71.1-87.9]$0.0199
openrouter/qwen/qwen3-235b-a22b-2507B3080.0% [62.7-90.5]86.7% [70.3-94.7]1.3386.0% [82.0-89.6]85.0%73.1% [58.7-84.9]$0.0202
openrouter/qwen/qwen3-235b-a22b-2507C3096.7% [83.3-99.4]96.7% [83.3-99.4]1.0087.0% [83.7-89.9]95.0%82.8% [72.3-89.0]$0.0136
openrouter/qwen/qwen3-235b-a22b-2507C30100.0% [88.6-100.0]100.0% [88.6-100.0]1.0085.6% [82.0-88.8]100.0%85.6% [82.0-88.8]$0.0134

The A and D figures in the main table are rows 1-8 (A and D) above. The first-round B rows (7B: 86.7% / 96.7%, 235B: 83.3% / 86.7% first-try / final) are the runs from before the retry fix; the first-round C rows are the first of the three C runs in the main table. The aggregate over the repeats is in results/aggregate.md; the raw per-run reports are results/2026-11-04_*.json.

How it works

text ──► build prompt (schema + instructions)

│ ▼ LLM call ──► raw string │ ▼ JobPosting.model_validate_json(raw) │ ok │ ValidationError ▼ ▼ log success log failure (error + raw) return model attempt < MAX? ──► append error to messages, retry │ no ▼ raise ExtractionFailed (logged)

The schema shown to the model is generated from the Pydantic model (JobPosting.model_json_schema()), never written by hand, and the reply is checked with the same model. A failed reply goes back to the model with the validator's errors, one line per error, for up to 3 attempts. After a valid reply, two deterministic tools tidy the result (canonical skill names, a location check against the document header). They are plain code, not model calls, so they add no LLM calls and the setups below stay comparable. Details: docs/ARCHITECTURE.md.

The four setups: A plain prompt, no retry. B plain prompt, errors fed back (up to 3 attempts). C the provider's strict JSON-schema mode, no retry. D schema mode plus retry.

Why not just use native structured outputs?

Schema mode helped a lot, and it is cheaper. It also does not do the whole job.

What it fixed. Setup C was valid on the first try 98.9% (96.7%-100.0%) of the time for both models, against a single plain-prompt run (A) of 83.3% for the 7B and 70.0% for the 235B. The 30-item cap on skills was the constraint that models actually broke in plain mode; under schema mode the report counts replies that broke a constraint the schema carries, and it was 0 in every C and D run (6 C runs, 2 D runs). C also cost less than B: $0.0076 against $0.0103 for the 7B, $0.0136 against $0.0211 for the 235B (means per run).

What it does not do:

  1. It guarantees shape, not meaning. The remaining failures in C were rules no JSON s

ตัดมาแค่ช่วงต้น อ่านต่อใน repo

ถาม PopNx