How to use Notework's MCP Server
Nur auf Englisch verfügbar
Dieser Artikel ist in der ausgewählten Sprache noch nicht verfügbar, daher zeigen wir die englische Version an.
Nur auf Englisch verfügbar
Dieser Artikel ist in der ausgewählten Sprache noch nicht verfügbar, daher zeigen wir die englische Version an.
Notework includes a read-only MCP server. A connected assistant can search and read the pages, collections, and tasks you can already open. It signs in as you, so it sees the same work you see and nothing else. It cannot create, edit, or delete anything.
This is separate from Notework for Slack. A Slack mention can turn a thread into a task you review and save. An MCP connection only reads.
The public endpoint is:
https://www.notework.co/api/mcp
That URL is the same for every workspace. The connection follows your Notework account, so the assistant can read every workspace you belong to, not only the one you copied the URL from.
You can also copy it in the product: Settings → My Settings → MCP Server.
The server speaks MCP over streamable HTTP. Clients call GET, POST, and DELETE on that URL. Unauthenticated requests get 401 with a WWW-Authenticate header pointing at the OAuth metadata below.
| Client | Connect? |
|---|---|
| ChatGPT | Yes. Add a custom connector and paste the server URL. |
| Claude | Yes. Add a custom connector. Claude's remote connectors use HTTPS, OAuth, and PKCE. |
| Other MCP clients | Yes, if the client adds a remote server over HTTPS and signs you in with OAuth. |
| Cursor | No. Cursor's sign-in redirect is not an https:// address, and Notework rejects it. |
Local development clients may use http://localhost or http://127.0.0.1 as the redirect. Any other non-HTTPS redirect is rejected.
The server uses OAuth 2.1 with public clients and PKCE (S256). The only scope is notework.read.
When you connect, the client registers itself, sends you to Notework to sign in, and you approve access. Use the Notework account whose work the assistant should read. On the approval screen, choose Allow access. Notework then returns you to the assistant.
The approval lets that app:
It does not let the app create, edit, move, or delete anything.
After you approve, Settings → MCP Server lists the app under Connected apps, with the day it connected and the day it last called the server.
Discovery documents, if a client needs them:
| Document | URL |
|---|---|
| Protected resource | https://www.notework.co/.well-known/oauth-protected-resource |
| Authorization server | https://www.notework.co/.well-known/oauth-authorization-server |
The authorization server advertises:
https://www.notework.co/oauth/authorizehttps://www.notework.co/api/oauth/tokenhttps://www.notework.co/api/oauth/registerS256notework.readEach MCP request runs as the signed-in user. A tool argument cannot choose a different user. Passing a workspace or project id can only narrow results. It cannot grant access to something you cannot open.
The server exposes five read tools. You do not call them yourself. Ask in plain language and the assistant picks the tool. The names matter when you are building a client or checking why an answer looked the way it did.
searchFinds pages, collections, and collection entries by words in the title or body.
{ "query": "authentication migration" }
Results are titles and opaque ids, with the workspace and project in the title so two items named "Issues" stay distinct. This is the wrong tool for status, assignee, due date, or priority questions. Use query_collection_entries or list_my_tasks for those.
fetchReads one item by id. Ids look like nw:page:…, nw:collection:…, or nw:entry:….
{ "id": "nw:page:…" }
A page or entry comes back as markdown plus metadata. A collection comes back with its property ids, option values, and status groups (todo, in_progress, blocked, done). A missing id and an id you cannot access both come back as not found.
Call fetch after search or a task list when you need the full description. List and query results do not include page bodies.
list_collectionsLists collections you can open, including property ids and option values. It does not return the entries themselves.
{
"query": "Foundry issues",
"workspace_id": "optional-uuid",
"project_id": "optional-uuid",
"limit": 20
}
query matches the collection title, project name, or workspace name. workspace_id and project_id only narrow the list. limit defaults to 20 and cannot exceed 50. Further pages use cursor.
Use this before query_collection_entries when the assistant does not already know the collection and property ids.
query_collection_entriesFilters and sorts entries in one collection. Use it for open issues, review status, priority, due dates, and roadmap rows.
{
"collection_id": "nw:collection:…",
"text_query": "optional words",
"filters": [
{ "property_id": "uuid", "operator": "eq", "value": "high" }
],
"sort": [
{ "property_id": "uuid", "direction": "asc" }
],
"limit": 20
}
Status and select filters must use the stored option value (todo), not the label (To Do). Open work is every status whose group is not done. A person filter can use @me for the signed-in user.
Operators: eq, neq, in, not_in, contains, not_contains, is_empty, is_not_empty, gt, gte, lt, lte.
limit defaults to 20 and cannot exceed 50. A sort that cannot see every matching row is marked truncated. The response does not include page bodies. Call fetch for those.
list_my_tasksLists your personal to-dos and entries assigned to you, across every workspace you can access.
{
"workspace_id": "optional-uuid",
"include_completed": false,
"limit": 20
}
Items are grouped as overdue, today, upcoming, or no date, using your timezone. Completed items are omitted unless include_completed is true. This is the tool for "what should I work on today?" It does not change Notework. Call fetch for the full description of one task.
Finding something by topic uses search, then fetch:
Questions about one collection use list_collections, then query_collection_entries, then fetch for the few entries that need a full read:
Questions about your own work use list_my_tasks:
A few prompts in one sitting are normal. "Summarize these three issues" should search or query first, then fetch those three entries, not invent the text.
A connected assistant cannot:
To turn a conversation into new work, use Notework for Slack instead.
That app loses access immediately. Connect it again from scratch if you want it back.
https://www.notework.co/api/mcp