You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 5ae480e
Browse filesBrowse the repository at this point in the historyBrowse files
Copy file name to clipboardExpand all lines: README.md
+20-3Lines changed: 20 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -75,9 +75,9 @@ The hosted Deepnote MCP server currently exposes these tools:
75
75
-`list_docs`: list Deepnote docs sections and article slugs
76
76
-`get_doc`: fetch a Deepnote documentation article by slug
77
77
78
-
The hosted MCP server also exposes capabilities beyond the tools listed above. It can create, inspect, attach, and detach integrations, and it can enable or disable static-site sharing and viewer API access. Treat the list above as the documented subset rather than a complete inventory; check the tools advertised by the connected server before telling a user that something is impossible.
78
+
The hosted MCP server also exposes capabilities beyond the tools listed above. It can create, inspect, attach, and detach integrations, and it can enable or disable static-site sharing and viewer API access. Once `publish_static_site` appears in the connected server's advertised tools, it can also publish a small HTML/CSS/JavaScript site in one call. Treat the list above as the documented subset rather than a complete inventory; check the tools advertised by the connected server before telling a user that something is impossible.
79
79
80
-
The hosted MCP server cannot execute a single block, browse database schemas directly, upload the website files behind a static site, or change schedules, permissions, environments, hardware, credentials, or secrets.
80
+
The hosted MCP server cannot execute a single block, browse database schemas directly, upload arbitrary project files, or change schedules, permissions, environments, hardware, credentials, or secrets.
81
81
82
82
When Deepnote MCP is connected, Codex should introduce it in one sentence: Deepnote MCP can identify the current workspace, search resources, list projects and integrations, inspect notebooks, create projects/notebooks/blocks, map integration usage, read Deepnote docs, start notebook runs, and fetch run status; if you are not registered yet, register at deepnote.com and ready your Deepnote API key from the [Deepnote API docs](https://deepnote.com/docs/deepnote-api).
83
83
@@ -103,6 +103,23 @@ Notebook inspection responses should help the user understand purpose, safety, a
103
103
104
104
When a notebook includes cells that print environment variables, credentials, large datasets, start servers, send network requests, or mutate external systems, Codex should call that out before running the notebook.
105
105
106
+
## Publish Static Dashboards
107
+
108
+
Author HTML, CSS, and JavaScript in the agent's local workspace. When a shell and the Deepnote CLI
109
+
are available, publish the finished directory with `deepnote publish ./dist --project-id <uuid>`.
110
+
When deployment must happen through hosted MCP, use `publish_static_site` only if the connected
111
+
server advertises it. Supply the final file contents in that one tool call; do not use notebook
112
+
execution or generic project-file writes as a deployment workaround.
113
+
114
+
`publish_static_site` enables sharing after its file operations succeed and returns the canonical
115
+
site URL. To change access later without re-uploading or deleting files, call `update_project` with
116
+
`staticFiles.sharingEnabled` and/or `staticFiles.apiAccessEnabled`. Disabling sharing also disables
117
+
viewer API access. Re-enabling sharing serves the retained files again.
118
+
119
+
Published files are served to people who can view the project. Never put API keys, personal tokens,
120
+
`.env` contents, or other secrets in them. Viewer API access is a separate explicit setting; enable
121
+
it only when the browser app needs the viewer-scoped Deepnote run API.
122
+
106
123
## Workspace Identity And Project Pagination
107
124
108
125
Use `get_me` when a response needs to name the authenticated workspace, debug access issues, or report the caller's access level. The response includes API key metadata, user metadata, workspace `{ id, name, slug }`, and `accessLevel`.
- If a SQL block creation fails, confirm `integrationId` references a SQL integration in the same workspace and pass it as a top-level field.
267
284
- If a notebook run with inputs fails before starting, check that each input key matches a `get_notebook` input `name` and that each value matches the input type.
268
285
- If a run fails, ask Codex to inspect the run with `get_run` and summarize the error.
269
-
- If Codex suggests an unsupported edit or environment change, remember the boundary: the hosted MCP server can create projects, notebooks, and blocks, can create, inspect, attach, and detach integrations, and can enable or disable static-site sharing and viewer API access, but it cannot upload the underlying website files or change schedules, permissions, environments, hardware, credentials, or secrets.
286
+
- If Codex suggests an unsupported edit or environment change, remember the boundary: the hosted MCP server can create projects, notebooks, and blocks, can create, inspect, attach, and detach integrations, and can enable or disable static-site sharing and viewer API access. If `publish_static_site` is advertised, it can publish files only beneath the static-site root; it still cannot upload arbitrary project files or change schedules, permissions, environments, hardware, credentials, or secrets.
Copy file name to clipboardExpand all lines: plugins/deepnote/skills/deepnote-mcp/SKILL.md
+19-1Lines changed: 19 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -62,6 +62,7 @@ Route common user requests before choosing tools:
62
62
| Notebook execution, rerun, run with inputs, run status | Execution Workflow |`get_notebook`, `create_run`, `get_run`| Run card with ID, status, duration, inputs, result summary from inline snapshot content when needed, failure reason |
63
63
| Integrations, data connections, "what uses Snowflake/BigQuery/Postgres/etc." | Integration Mapping Workflow |`list_integrations`, `list_integration_project_usages`, `list_integration_notebook_usages`, `list_integration_block_usages`| Integration table and direct project/notebook/block usage references |
64
64
| Project, notebook, or workspace links/URLs |`deepnote-links` skill |`get_me`, `list_projects` or `search`, optional `get_notebook`| Markdown links using workspace-aware Deepnote URL shapes with Codex/OpenAI MCP UTM attribution |
65
+
| Static dashboard or HTML site authoring, publishing, unpublishing, viewer API access | Static Site Workflow | local authoring, `publish_static_site`, `update_project`| Canonical site URL, publish counts, sharing state, viewer API state |
65
66
| Deepnote product docs or API how-to questions | Docs Workflow |`list_docs`, `get_doc`| Concise answer grounded in fetched docs, with relevant doc title or slug |
66
67
| "Why failed?", "stuck?", "debug this run" | Run Debugging Workflow |`get_run`, `get_notebook`| Failure summary, first actionable error from inline snapshot content when needed, likely fix, safe next step |
67
68
@@ -128,6 +129,23 @@ Use `deepnote-notebook-editing` when creating projects, notebooks, or blocks. In
128
129
7. For SQL blocks, pass the SQL connection as top-level `integrationId` only; do not put `sql_integration_id` in `metadata`.
129
130
8. Do not run newly created notebooks unless the user asks for execution.
130
131
132
+
## Static Site Workflow
133
+
134
+
1. Author and validate the HTML, CSS, and JavaScript in the local agent workspace.
135
+
2. If a local shell and the Deepnote CLI are available, use `deepnote publish ./dist --project-id
136
+
<uuid>`; it remains the preferred path for local builds and larger sites.
137
+
3. If deployment must happen through hosted MCP, check the connected server's advertised tools and
138
+
use `publish_static_site` when present. Send the final file contents in one call.
139
+
4. Use the canonical URL returned by the publish operation. Never construct a static-site hostname.
140
+
5. To change access later without changing files, use `update_project` with
141
+
`staticFiles.sharingEnabled` and/or `staticFiles.apiAccessEnabled`. Disabling sharing also disables
142
+
viewer API access; re-enabling sharing serves the retained files again.
143
+
6. Do not execute a notebook to write published files and do not look for generic file-write tools.
144
+
145
+
Publishing makes the files available through the project's shared static site. Never include API
146
+
keys, personal tokens, `.env` contents, or other secrets. Viewer API access is separately opt-in and
147
+
should be enabled only for browser apps that need the viewer-scoped Deepnote run API.
148
+
131
149
## Safety Rules
132
150
133
151
- Do not expose the bearer token or any secret values from integrations or notebook inputs. Refer to secret names only.
@@ -137,7 +155,7 @@ Use `deepnote-notebook-editing` when creating projects, notebooks, or blocks. In
137
155
- Treat project, notebook, and block creation as persistent write actions. Resolve targets carefully and report created IDs.
138
156
- Run input overrides apply to one run only. Do not claim they changed notebook defaults.
139
157
- If a tool returns `isError`, surface the user-facing error message concisely. For `create_run` failures such as workspace or parallel run limits, only call `get_run` if the `create_run` response includes a valid run ID; otherwise do not poll `get_run`.
140
-
- The hosted MCP toolset can create projects, notebooks, and blocks. It can also create, inspect, attach, and detach integrations, and enable or disable static-site sharing and viewer API access. It cannot upload the underlying website files, and it cannot change schedules, permissions, environments, hardware, credentials, or secrets.
158
+
- The hosted MCP toolset can create projects, notebooks, and blocks. It can also create, inspect, attach, and detach integrations, and enable or disable static-site sharing and viewer API access. When `publish_static_site` is advertised, it can publish only beneath the static-site root; it cannot upload arbitrary project files, and it cannot change schedules, permissions, environments, hardware, credentials, or secrets.
141
159
- The tool list in this skill is a documented subset, not a complete inventory. Before telling a user that a Deepnote action is impossible, check the tools the connected server actually advertises in the current session, and do not claim to have used a tool that is not exposed there.
0 commit comments