Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Connect AI clients to your Dactic work context through a hosted MCP service.
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://mcp.app.dactic.io/mcpพิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http dactic https://mcp.app.dactic.io/mcpวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"dactic": {
"url": "https://mcp.app.dactic.io/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"dactic": {
"type": "http",
"url": "https://mcp.app.dactic.io/mcp"
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://mcp.app.dactic.io/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ชื่อและคำอธิบายเครื่องมือตามที่ server ตอบมาเมื่อ 6 พ.ย. 2569 ผู้ทำเป็นคนเขียน ไม่ใช่เรา แสดงเป็นข้อความล้วน
list_agentsList the Dactic agents you (the signed-in user) have deployed, newest first. Returns each agent's id, name, platform and status. Use load_agent to run one or get_agent for its details. Returns not_found when you have none.
get_agentGet one of your Dactic agents by id: its name, platform, status, complete instructions and every skill (name, description, full procedure). Never returns another user's agent.
load_agentLoad one of your Dactic agents (by agent_id or exact agent_name) so you can run it in this chat: returns its complete instructions and skills. Follow them exactly. Returns not_ready when the agent has no approved instructions, and not_found when no agent matches; it never returns
invoke_agentRun one of your deployed Dactic agents. Claude agents start a Managed Agent session; Monday agents are run by Monday's own board automation. The response always includes the agent's complete instructions and skills. Retrying the same request returns the same run instead of starti
resolve_termsLook up what company-specific terms mean, from your organization's confirmed Dactic terminology only. Terms that aren't confirmed come back in gaps; never guess their meaning.
check_freshnessIs my Dactic knowledge up to date? Reports each surface (app sync, knowledge, terminology, playbook, department policies, skills, and optionally one agent) as fresh, stale, empty or unknown, with a recommendation for anything not fresh. Pass refs from other Dactic tools to check
get_policyGet your department's current policies with their source document. With query: the policies that apply to it (all of them when your department has few, else the closest matches; coverage says which). Returns not_found when none are published.
list_skillsList your active Dactic skills (procedures derived from your interviews). disclosure_tier L1 returns a catalog; L2/L3 add the procedure. Use get_skill for one skill. Returns not_found when you have none.
get_skillGet one of your Dactic skills by id, with its full procedure at disclosure_tier L3.
ask_knowledgeAnswer a question from your own Dactic context: matches holds evidence from your synced work data and current department policies related to the question; your_profile holds your work context, skills, agents and connected apps. When nothing matches, say so; never another user's d
get_context_bundleGet everything a task needs from Dactic in one call; use it before doing a task, especially when running an agent. With agent_id: that agent's complete instructions and skills. Without: your most relevant skills. Plus your knowledge (confirmed first, then inferred from approved s
get_user_contextYour own Dactic profile for personalising answers: job title, team, department and role; work context (role, guardrails, preferences); knowledge files (paginated, confirmed first; each says confirmed or inferred); connected apps; tools you use. Only ever your own data, even for o
get_knowledge_provenanceWhere did that come from? For refs returned by other Dactic tools (1-20), describes each item's source and a confidence of high, medium or low from a fixed rubric, with the rule that applied in `basis`. Rubric — terminology: high when confirmed with score >= 0.9 and no conflict,
submit_agent_feedbackFile feedback about one of your own Dactic agents (e.g. 'it keeps CC'ing finance'). Quote the user's words in detail. First call without confirmation_code: you get a preview and a confirmation_code and nothing is saved; show the preview, ask the user to confirm, then call again w
check_against_policyAdvisory check of a draft reply, plan or action against your department's Dactic policies. Returns findings that quote the policy and the draft verbatim, with a suggested change, and says how many policies were checked. Present the result as advice: it is never a compliance sign-
get_skill_usageHow often your Dactic skills were listed and loaded by AI clients (ChatGPT, Claude…) over the last 7, 30 or 90 days, how many live agents use each, and a suggestion (promote, keep, review or trim) with its basis. Suggestions are advice and never change anything. data_since is whe
synthesize_agentDraft a new Dactic agent for a task the user describes, built only from the user's own Dactic skills, policies and work context. Runs in the background: it returns a task_id at once; call get_task_status with it until the status is succeeded or failed. The result is a draft saved
create_agent_from_processDraft a new Dactic agent, and the new skills it needs, from a process the user describes in this chat — use this when the user's existing skills don't cover the work (synthesize_agent only reuses existing skills). The input includes purpose, concrete ordered steps, trigger, resou
get_task_statusStatus of a background task you started (e.g. synthesize_agent): queued, running, succeeded (with its result) or failed (with error_message). Only your own tasks; anything else is not_found.
searchSearch your Dactic knowledge (your skills, agents and playbooks, and your organization's confirmed terminology, plus current department policies). Returns results with an id, title and link; call fetch with an id for the full text.
fetchFetch the full text of one Dactic item by the id search returned, with a link to it.
get_usageYour Dactic AI usage (tokens by operation) over the last N days; scope=org is for org admins.
get_sync_statusReport recorded sync progress, last successful sync, approved source coverage and safe recovery guidance. Credential linkage is not proof of current access.
get_feedback_statusFollow the recorded processing/application state of your submitted agent feedback. No immediate agent change is implied.
recommend_agentMatch a task to accessible deployed agents by their stored instructions and skills. Returns candidate evidence and limitations; never runs or creates an agent.
compare_agent_versionsCompare two stored artifact versions of the same accessible agent/platform, with instruction diffs and skill additions/removals. Missing guardrails/parameters remain unknown. Never rolls back or deploys.
find_context_gapsAssess task preparation using available knowledge, skills, policies, terminology and sync readiness. Returns blocking/nonblocking gaps; unknown requirements or execution permissions remain unknown.
get_entity_contextFollow bounded explicit stored links from an approved board, accessible agent/project or confirmed term. Returns entities, relationship bases, citations and missing-link gaps. Text similarity never establishes a dependency.
get_context_deltaRetrieve added/updated/removed permitted knowledge and published policies since an actor-bound snapshot cursor. Omit cursor for a complete bounded baseline. Expired cursors or changed scopes/permissions require a fresh baseline. Returns snapshot differences, not every intermediat
retrieve_similar_casesFind comparable recent runs or resolved feedback owned by you. Returns recorded summaries/outcomes, citations and uncertainty; missing actions/outcomes remain unknown. Past outcomes do not guarantee success.
query_work_datasetQuery the approved synced Monday item view with supported scalar filters, sorting, grouping and count/sum aggregation. Fields are base identifiers or column: . Returns typed rows, pagination and explicit sync/coverage limits. Older syncs may lack structured columns. Never accepts
guide_workflowBuild advisory human-reviewed workflow options using accessible agents, context gaps, connection/sync readiness and provisional platform capabilities. Separates source, execution-platform and host connectors. Returns next actions and conservative net human-hours estimates only fr
recommend_new_agentsAfter confirming the user's goal, save a new recommendation iteration containing validated Claude draft proposals from their own skills/context. Optional priorities produce up to three proposals. A proposal never copies an agent or draft the user already has: when their skills ar
deploy_agentFirst deployment of your selected saved draft. Call without confirmation_code for a preview, show it to the user and obtain authorization, then repeat the same definition/target with the code. Checks skills, source approvals and existing deploy readiness/billing gates. Returns a
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 6 พ.ย. 2569
ชื่อใน registry ยืนยันโดเมน dactic.io แล้ว (registry ตรวจความเป็นเจ้าของโดเมน)
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตอบกลับใน 425 ms (HTTP 200)
ไม่ต้องล็อกอิน
อ่านคำอธิบายเครื่องมือ 34 ตัวแล้ว ไม่พบคำสั่งแอบแฝงถึง AI
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
รันบนคลาวด์ของผู้ทำ ต่อผ่านอินเทอร์เน็ตได้เลย ไม่ต้องลงโปรแกรม แต่ข้อมูลที่ส่งให้จะผ่านเซิร์ฟเวอร์ของผู้ทำ
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.1.2) เข้า registry เมื่อวานซืน
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, BankBridge
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.
Works in any MCP agent, including local models. Read-only bank accounts, spending, investments.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Connect MCP clients to your Dactic work context through the hosted service at https://mcp.app.dactic.io/mcp. A Dactic account and access to the requested capabilities are required. Available tools depend on your account and permissions.
This repository contains the public client manifests, installation guidance, and complete source for the stdio launcher. The launcher uses the pinned mcp-remote transport and OAuth implementation. Backend processing remains on the hosted Dactic service. Reviewers and users use the same integration.
Draft release: the npm installation example is reserved for after @dactic/mcp-server@0.1.0 is published. Use a local checkout today. Marketplace approval and authenticated production verification are tracked in the release checklist.
Add a Streamable HTTP MCP server with URL https://mcp.app.dactic.io/mcp in your client's MCP settings, then complete the client's OAuth sign-in and consent flow. No API key is embedded in this repository.
For Cursor, merge the following entry into your existing MCP configuration:
{"mcpServers":{"dactic":{"url":"https://mcp.app.dactic.io/mcp"}}}
For Claude Code, use the bundled .mcp.json or run:
claude mcp add --transport http dactic https://mcp.app.dactic.io/mcp
The repository also includes Cursor, Claude, and portable plugin manifests. For a local Claude plugin check, run claude plugin validate .; for a local session, run claude --plugin-dir /absolute/path/to/dactic-v1-mcp-public. See client installation for the marketplace formats.
Install Node.js 22.12 or later. From a checkout:
npm ci
npm run verify node src/cli.js --help
Merge examples/stdio.local.json into the host's configuration and replace its absolute path with your checkout path. Launch from the MCP host so stdin/stdout stay connected. The bridge opens your browser when OAuth consent is needed. Do not enter account credentials in client JSON.
After the npm release, examples/stdio.npm.json runs the same bridge using npx -y @dactic/mcp-server@0.1.0.
When your account supports a Dactic bearer credential, supply it through the DACTIC_MCP_TOKEN environment variable. Configure the value in your host's secret settings or a private environment; never commit it. The bridge passes a literal environment placeholder to its child process, never the credential in process arguments. OAuth and bearer credentials retain the backend's normal permission checks.
docker build -t dactic-mcp:local .
docker run --rm -i -e DACTIC_MCP_TOKEN dactic-mcp:local
This uses an already-set host environment variable. Do not use -t: stdout must remain a clean MCP stream. Headless Docker requires a bearer credential; an interactive browser OAuth callback is not configured by this container.
| Variable | Behavior |
|---|---|
DACTIC_MCP_TOKEN | Optional bearer credential; omitted means browser OAuth |
DACTIC_REQUEST_ID | Optional safe correlation ID; otherwise a UUID is created |
MCP_REMOTE_CONFIG_DIR | Optional OAuth cache directory; contains credentials |
DACTIC_MCP_URL | Production URL or a loopback fixture for local verification |
OAuth requests the base scopes openid offline_access mcp/mcp:tools. Additional capabilities depend on server authorization and client consent; this launcher does not request organization-wide usage scopes by default. OAuth storage and refresh are handled by mcp-remote, normally under ~/.mcp-auth. Protect that cache like a password and do not share it.
The bridge writes only protocol messages to stdout. JSON lifecycle diagnostics go to stderr with a request_id, which is also sent as X-Request-ID to the service. Logs classify connection failures and retain safe stack function frames; upstream response bodies, authorization URLs, and credentials are discarded. Search diagnostics by request_id and events bridge.fail or bridge.dependency.fail. Connection establishment is bounded by a 15-second connect timeout, 60-second headers timeout, 300-second body idle timeout, and 120-second browser authorization callback timeout.
For authentication failures, reconnect using your host's sign-in flow. For permission failures, check account access; repeated authentication will not grant new permissions. For network errors, check endpoint availability and your network. Share only a correlation reference with support.
Public code implements transport and integration configuration. It contains no retrieval engine, internal prompts, database access, production infrastructure, or customer fixtures. Tool descriptions and schemas returned by the service are visible to MCP clients and may be captured by directory inspection. See review scope, security, and the Dactic privacy policy.
npm run verify checks official schema snapshots, manifest consistency, assets, packaging boundaries, and offline protocol integration tests against a synthetic loopback MCP server. Tests do not contact Dactic or read user credentials. CI runs the same checks and builds the non-root Docker image. No registry or marketplace publication runs in CI.
Source is licensed under MIT. Branding and the hosted service are outside that license; see NOTICE.