Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
제작자가 쓴 설명(영어 원문)
Hosted dashboards and scheduled data jobs for AI agents, with thresholds, alerts and share links.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
웹, 데스크톱, 모바일의 Claude에서 쓸 수 있어요:
https://tlly.dev/mcp터미널에서 이 명령어를 실행하세요
claude mcp add --transport http tlly https://tlly.dev/mcp프로젝트의 .cursor/mcp.json 또는 ~/.cursor/mcp.json에 붙여 넣으세요
{
"mcpServers": {
"tlly": {
"url": "https://tlly.dev/mcp"
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"servers": {
"tlly": {
"type": "http",
"url": "https://tlly.dev/mcp"
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요:
https://tlly.dev/mcp메뉴 이름은 요금제나 시기에 따라 조금 다를 수 있어요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
도구 이름과 설명은 서버가 2026년 11월 6일에 알려 준 그대로예요. 우리가 아니라 제작자가 쓴 글이고, 일반 텍스트로만 보여 드려요.
create_dashboardCreate a hosted dashboard; returns its public URL. Dashboard spec: {"title": str, "description"?: str, "range"?: "1m"|"3m"|"6m"|"ytd"|"1y"|"2y"|"5y"|"10y"|"max", "theme"?: "auto"|"light"|"dark" (default mode; auto follows the viewer's system and viewers can switch), "layout"?: "a
update_dashboardReplace a dashboard's spec (URL stays the same). Every update is saved as a numbered version. With "draft": true it is saved without going live: viewers keep seeing the live version, members can preview the draft at the returned preview_url, and publish_dashboard_version makes it
list_dashboard_versionsList a dashboard's saved versions (newest first) with which one is live and a members-only preview URL for each.
publish_dashboard_versionMake a saved version of a dashboard the live one (also to roll back). The dashboard keeps its URL and visibility.
rotate_dashboard_urlGive a dashboard a new public URL and disable the old one at once (e.g. if a link leaked). Spec and data are unchanged.
list_dashboardsList dashboards with their URLs.
delete_dashboardDelete a dashboard (series data is kept).
push_pointsWrite dated values to a series (upsert by date). Use when you compute data yourself. Values are numbers, or short text labels for a text series (e.g. a rating or stance; see Data policy). A series' first write fixes its type.
get_seriesRead the latest points of a series.
list_seriesList all series with their type (number or text), point counts and date ranges; text series also list their values.
delete_seriesDelete all points of a series, or remove a derived series' definition.
define_derivedCreate or replace a derived series, computed from other series every time it is read (always fresh, stores no points, counts toward the series limit). definition: {"op":"add"|"subtract"|"multiply"|"divide","a":series,"b":series} (matched by date) | {"op":"pct_change"|"diff"|"movi
list_secretsList the names of the workspace's stored secrets (API keys for private sources) and the host each may be sent to. Use one in a job's url, headers or body as {{secret:NAME}}.
test_jobDry-run a job spec: fetch, extract and transform, return a preview. Saves nothing. Job spec: {"series": name, "cron": "m h dom mon dow" (UTC, at most every 5 min), "request": {"url", "method"?: "GET"|"POST", "headers"?: {}, "body"?: obj|str, "pages"?: {"param": "page", "start"?:
create_jobSchedule a fetch job. It runs once immediately and the result is returned. Job spec: {"series": name, "cron": "m h dom mon dow" (UTC, at most every 5 min), "request": {"url", "method"?: "GET"|"POST", "headers"?: {}, "body"?: obj|str, "pages"?: {"param": "page", "start"?: 0, "max"
import_onceFetch a job spec once and save the result, without scheduling it or using a job slot ("cron" is optional and ignored). Use for one-off dashboards whose data doesn't need to update; points count toward the data quota. Job spec: {"series": name, "cron": "m h dom mon dow" (UTC, at m
update_jobReplace a job's spec, or pause it with enabled=false. Job spec: {"series": name, "cron": "m h dom mon dow" (UTC, at most every 5 min), "request": {"url", "method"?: "GET"|"POST", "headers"?: {}, "body"?: obj|str, "pages"?: {"param": "page", "start"?: 0, "max"?: 1-10} (json with i
list_jobsList scheduled fetch jobs with their last run status and any error message.
run_job_nowRun a scheduled fetch job immediately, store any new points, and return the run result.
delete_jobDelete a job (its series data is kept).
get_statusHealth check: failing jobs, stale or empty panels, dashboards, storage usage. Call this to verify everything works.
get_usageStorage usage against quotas (data points = values + annotations, series, dashboards, jobs) and the largest series. Check before large writes.
add_annotationsAttach short dated notes to a series (e.g. 'Policy rate raised to 4.5%'); shown as markers on charts. Single-line plain text, max 280 chars; one note per date (re-adding replaces it); each counts as one data point.
list_annotationsRead the latest annotations of a series.
delete_annotationsDelete annotations of a series on the given dates, or all of them if dates is omitted.
set_alert_webhookSet or clear the workspace webhook URL for job-failure and dashboard status alerts (pass an empty url to clear). When events fire, tlly POSTs JSON to that URL (Slack and Discord incoming webhooks get a short text payload instead). Events include job_failed, status_changed (keep p
set_panel_alertSet when one dashboard panel sends alert email and/or a webhook (colour change, threshold cross, or off). trigger: change (default), red, notgreen, above, below, or off; above/below need limit. notify: both, email, or webhook. panel is the 0-based index in the live spec. Saving c
set_stale_alertConfigure when tlly sends stale-data alert email and webhooks because a series stopped updating. after: auto (from the job schedule and point spacing, at least two days), off, hours, or a window like 48h or 7d. Use dashboard_id for every series on a dashboard, series for one seri
list_integration_skillsList integration setup playbooks (Stripe, Shopify, Sheets, and the other sources tlly can read). A spreadsheet starts from the KPI template. Make a copy https://docs.google.com/spreadsheets/d/1Ty5X3LkY2unxTNGbkq36qDzuuYxQMsuywaTNyzL_pac/copy. Public CSV https://docs.google.com/sp
get_integration_skillRead one integration playbook by id: what to track, the minimum credential and scopes, the exact tlly job, and gotchas. google-sheets and json-api also return a template field (Make a copy, public CSV, downloads). Make a copy https://docs.google.com/spreadsheets/d/1Ty5X3LkY2unxTN
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 9일 점검
레지스트리 이름이 도메인 tlly.dev 기준으로 확인되었어요(레지스트리가 도메인 소유를 확인해요)
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
629ms 만에 응답(HTTP 200)
로그인 필요 없음
도구 설명 30개를 읽었고, AI에게 보내는 숨겨진 지시는 없었어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 3개 중 3개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
레지스트리에 필수 키가 나와 있지 않아요. 다만 처음 쓸 때 로그인을 요구하는 서버도 있어요.
제작자의 클라우드에서 실행돼요. 설치 없이 인터넷으로 연결하지만, 보내는 내용은 제작자의 서버를 거쳐요.
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(1.0.0)은 9일 전 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. URL로 연결되기 때문에, 원격 MCP 서버를 지원하는 앱(예: 개발자 모드의 ChatGPT)에서도 쓸 수 있어요.
같은 카테고리에는: Spec Driven Development, Remote Desktop Commander, Show HN Launches — buy per-query in-session (showhnwatch)
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:↓ 주간 다운로드i★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
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.
Show HN: indie launches & side projects. $0.01/query. Be born in one call — free testnet funds.
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
[tlly](https://tlly.dev) is a hosted service for dashboards and scheduled data jobs built for AI agents and teams: pull numbers from Stripe, Shopify, HubSpot, Google Sheets, and more; chart them with thresholds; get morning checks, alerts, and shareable links.
This repository is the public listing for tlly’s remote MCP server (metadata, logo, and setup docs). It does not contain the hosted service source code.
| Website | https://tlly.dev |
| MCP endpoint | https://tlly.dev/mcp |
| Transport | Streamable HTTP |
| Auth | OAuth 2.0 (sign in with your tlly account; no API key in config) |
| Support / issues | GitHub Issues |
The MIT LICENSE in this repo applies to this repository’s documentation and metadata only, not to the tlly hosted service or its backend.
Claude (custom connector): Settings → Connectors → add remote URL https://tlly.dev/mcp.
Claude Code:
claude mcp add --transport http tlly https://tlly.dev/mcp
Cursor (mcp.json):
{
"mcpServers": { "tlly": { "url": "https://tlly.dev/mcp" } } }
ChatGPT: Developer mode / Connectors → add https://tlly.dev/mcp.
VS Code: MCP config with "type": "http" and "url": "https://tlly.dev/mcp".
Step-by-step notes for each client: [docs/setup.md](./docs/setup.md).
This repository is a Cursor Plugin: install from the marketplace (after review) or test locally by copying the repo into ~/.cursor/plugins/local/tlly.
| File | Role |
|---|---|
.cursor-plugin/plugin.json | Plugin manifest (name: tlly) |
mcp.json | Remote MCP server (https://tlly.dev/mcp) |
skills/tlly/SKILL.md | Agent skill for dashboards, jobs, and alerts |
Submit for marketplace review: cursor.com/marketplace/publish (public Git repository URL for this repo).
One-line summaries below; full parameter schemas and job/dashboard specs are in the live MCP server card.
| Tool | Summary |
|---|---|
create_dashboard | Create a hosted dashboard; returns its public URL. |
update_dashboard | Replace a dashboard's spec (URL stays the same). |
list_dashboard_versions | List saved dashboard versions and which one is live. |
publish_dashboard_version | Make a saved version of a dashboard the live one (also to roll back). |
rotate_dashboard_url | Issue a new public URL and disable the old one immediately. |
list_dashboards | List dashboards with their URLs. |
delete_dashboard | Delete a dashboard (series data is kept). |
| Tool | Summary |
|---|---|
push_points | Write dated values to a series (upsert by date). |
get_series | Read the latest points of a series. |
list_series | List all series with type, point counts, and date ranges. |
delete_series | Delete all points of a series, or remove a derived series' definition. |
define_derived | Define a derived series computed from other series when read. |
add_annotations | Attach short dated notes to a series as chart markers. |
list_annotations | Read the latest annotations of a series. |
delete_annotations | Delete annotations on given dates, or all annotations on a series. |
| Tool | Summary |
|---|---|
test_job | Dry-run a job spec: fetch, extract and transform, return a preview. |
create_job | Schedule a fetch job; runs once immediately and returns the result. |
import_once | Fetch and save once without scheduling or using a job slot. |
update_job | Replace a job's spec, or pause it with enabled=false. |
list_jobs | List scheduled fetch jobs with their last run status and any error message. |
run_job_now | Run a scheduled fetch job immediately, store any new points, and return the run result. |
delete_job | Delete a job (its series data is kept). |
| Tool | Summary |
|---|---|
set_alert_webhook | Set or clear the workspace webhook URL for job and status alerts. |
set_panel_alert | Configure when a dashboard panel sends email or webhook alerts. |
set_stale_alert | Configure when tlly sends stale-data alert email and webhooks because a series stopped updating. |
| Tool | Summary |
|---|---|
list_secrets | List stored secret names and the host each may be sent to. |
get_status | Health check for jobs, stale panels, dashboards, and storage usage. |
get_usage | Report storage usage against quotas and the largest series. |
list_integration_skills | List integration setup playbooks for Stripe, Shopify, Sheets, and more. |
get_integration_skill | Read one integration playbook: credentials, job spec, and gotchas. |
Plans and limits from tlly.dev (start free; upgrade when you need more):
| Plan | Price | Dashboards | Checks | People |
|---|---|---|---|---|
| Free | $0 | 3 | 5 checks each | Just you |
| Pro | $19 / month founding (50 spots left, until 22 Nov 2026, 23:59 Europe/Oslo); then $29 / month or $290 / year | 20 | 200 checks | you + 5 |
| Business | $99 / month or $990 / year | 100 | 1,000 checks | you + 20 |
Current founding pricing and availability: see [tlly.dev](https://tlly.dev).
server.json describes this server for the Official MCP Registry as `dev.tlly/tlly` (DNS-verified namespace). Published entry: registry search for dev.tlly/tlly. This repo holds listing metadata and setup docs for that server.