Dutify
by dutify.ai in Developer tools
Whole Dutify suite in one server: Hub call recordings, projects, Codexum wiki, Roadmarq requests.
https://mcp.dutify.ai- Tools
- 191
- open to any client
- Uptime
- 95.5%
- last 30 days
- Response time
- 364 ms
- 416 ms slowest 5%
- Last check
- Passed
- 3 h ago, next in 3 h
Reliability
Status and outage history · Atom feed · Watch with other listings
How to connect
Add it to any MCP client that supports remote servers.
{
"mcpServers": {
"dutify": {
"type": "http",
"url": "https://mcp.dutify.ai"
}
}
}191 tools
- whoami
Unified Dutify whoami: fresh credential/workspace discovery. Does not require a selected workspace or reserve quota.
- list_accounts
List the accounts configured for this MCP session. Returns one entry per account with `name` (the label the caller passes as the `account` tool argument) and `workspace` (the workspace identifier or name declared for that account). API keys are not returned. In single-account…
- find_my_workspace
Unified Dutify find_my_workspace: fresh credential/workspace discovery. Does not require a selected workspace or reserve quota.
- list_workspaces
Unified Dutify list_workspaces: fresh credential/workspace discovery. Does not require a selected workspace or reserve quota.
- list_boards
List feature-request boards the caller can view in the current workspace. Each entry includes the board slug and the short-ID prefixes (featureRequestKey, bugReportKey) needed to address requests/bugs in follow-up tool calls.
- list_spaces
List wiki spaces the caller can view in the current workspace, each with a page count. Use the `key` field as the space identifier in follow-up wiki tool calls.
- get_endpoint_examples
Fetch the request/response example payloads (full JSON values) for a Dutify API resource tag. Use this when you're about to write rich content via a tool that accepts a TipTap `content` parameter (e.g. wiki_create_page) and need a concrete reference of what the doc shape looks…
- wiki_search
Find wiki PAGES by title/keyword in the current workspace. Returns a list of matching pages (slug, title, spaceKey, spaceName, excerpt, status, updatedAt) — no UUIDs, no full body. Use this to LOCATE or LIST pages (then call wiki_get_page to read one). To ANSWER a question FROM…
- wiki_retrieve
Search the wiki by MEANING and get back the most relevant PASSAGES (chunks) with citations and relevance scores. Use this to GROUND or ANSWER a question from wiki content: it returns quotable chunkText plus the source page/section so you can cite it. Each result has pageSlug…
- wiki_list_pages
List wiki pages in a space. Without `parent` returns root-level pages; pass a parent slug to list that page's children. Response items have slug, title, status, type (page|folder), parentSlug, updatedAt — no bodies. Page results include webUrl: a browser link requiring normal…
- wiki_get_page
Get a wiki page by slug within a space. Default format is Markdown (the body is returned under the `markdown` field); pass format="tiptap" for raw ProseMirror JSON. Page results include webUrl: a browser link requiring normal workspace access. Use it for citations; it does not…
- wiki_create_page
Create a wiki page under a space. Pass EITHER `markdown` (simpler, server converts to TipTap) OR `content` (TipTap/ProseMirror JSON, mutually exclusive with markdown). Use `content` when you need rich features that markdown can't express — banners, collapsibles, mermaid…
- wiki_update_page
Update an existing wiki page by slug. Any field left unset preserves the current value. Pass EITHER `markdown` OR `content` (TipTap/ProseMirror JSON) for the body — they're mutually exclusive. Use `content` for rich features (banners, collapsibles, mermaid, etc.); call…
- wiki_move_page
Move a wiki page to a new parent and/or a new space. All body fields are optional and use slugs (resolved server-side in the target space) instead of UUIDs: `targetSpaceKey` for cross-space moves (omit to stay in the current space); `newParent` is the slug of the new parent page…
- wiki_delete_page
Archive (soft-delete) or permanently delete a wiki page by slug. Falls through to the non-lite Wiki Pages API since there is no lite delete endpoint — path is `DELETE /v1/workspaces/{workspaceIdentifier}/wiki/spaces/{spaceKey}/pages/{slug}` with optional `?permanent=true`…
- wiki_get_page_share
Get the public SHARE-LINK status for a single page (PublicShareInfoDTO): `isEnabled`, `publicToken`, `publicUrl` (the shareable link), `showAuthor`, `sharedAt`, `sharedBy`, `workspaceAllowsSharing`. A per-page share link lets anyone with the URL read just that one page…
- wiki_enable_page_share
Enable a public SHARE LINK for a single page, returning a PublicShareInfoDTO with the `publicUrl` to hand out. Optional `token` sets a custom URL slug (3-100 chars, lowercase letters/digits/hyphens; 409 if already taken — omit to auto-generate). Optional `showAuthor` toggles…
- wiki_disable_page_share
Disable the public share link for a single page, revoking access via its URL (returns 204). Requires edit access. API-key scope: `wiki:pages:write`.
- wiki_list_spaces
List every wiki space the caller can see in the current workspace. Each entry has the space's `key` (use this in subsequent calls), `name`, `description`, `effectivePermission` (view/edit/admin), and `canView`/`canEdit`/`canAdmin` booleans for quick gating. Call this first when…
- wiki_get_space
Fetch a single wiki space by key. Returns the WikiSpaceDTO (id, key, name, description, icon, color, cover image, visibility flags, permissions, timestamps). For the page tree inside the space, use wiki_get_space_with_pages instead. API-key scope: `wiki:spaces:read`.
- wiki_get_space_with_pages
Fetch a wiki space AND its complete page tree in one call. Returns WikiSpaceWithPagesDTO — space metadata plus `pages` (a recursive tree of WikiPageTreeNodeDTO with slug, title, type=page|folder, hasChildren, children[], view count, top reactions, the caller's…
- wiki_create_space
Create a new wiki space in the current workspace. `key` is the unique short identifier used in URLs and subsequent API calls — uppercase letters + digits only, 2-20 chars, must start with a letter (e.g. "DOCS", "ENG2"). `name` is the human display name. Defaults: `isPublic…
- wiki_update_space
Update a wiki space's metadata. All fields are optional — pass only what you want to change. The space key cannot be changed. Requires edit access to the space. API-key scope: `wiki:spaces:write`.
- wiki_delete_space
PERMANENTLY delete a wiki space AND every page inside it. Requires admin access to the space. This is destructive — surface a clear confirmation to the user before calling. Returns 204. API-key scope: `wiki:spaces:write`.
- wiki_get_public_settings
Get a space's PUBLIC-WEB publishing settings (PublicSpaceSettingsDTO): `isEnabled` (is the space published to the public internet), `customSlug` (public URL slug), `allowedEmojis`, `showReactions`, `showPageViews`, `showLastUpdated`, `showAuthor`, `viewMode`…
- wiki_check_public_slug
Check whether a public URL slug is available and validly formatted for a space, before publishing. Returns a SlugAvailabilityDTO. Call this when choosing a `customSlug` for wiki_set_public_settings. Requires space admin. API-key scope: `wiki:spaces:read`.
- wiki_set_public_settings
Publish / unpublish a space to the PUBLIC INTERNET, or update its public-site config. This is the REAL publish switch — NOT the space `isPublic` flag (which is internal visibility). Pass only the fields you want to change: `isEnabled` (true = publish to the web, false = take…
- wiki_list_attachments
List every attachment on a wiki page (WikiAttachmentDTO[]): id, pageId, filename, contentType, sizeBytes, status (pending|confirmed|failed), uploadedBy/At, confirmedAt. `pageId` is the page UUID (from wiki_get_space_with_pages tree node `id`, not the slug). Use to find an…
- wiki_request_attachment_upload
Step 1 of uploading an image/file to a wiki page. Returns { attachmentId, uploadUrl, storageKey }. AFTER calling this you MUST: (2) PUT the raw file bytes to `uploadUrl` with your OWN HTTP client — the MCP server cannot do this binary upload — sending the EXACT same…
- wiki_confirm_attachment
Step 3 of uploading: confirm that the bytes were successfully PUT to the presigned `uploadUrl`, activating the attachment. Returns the WikiAttachmentDTO (status becomes "confirmed"). Call only after the byte PUT succeeded. API-key scope: `wiki:attachments:write`.
- wiki_delete_attachment
Permanently delete an attachment and its stored file (returns 204). Useful for cleaning up unused or leftover uploads. This does not remove image nodes that still reference it in a page body — update the page content separately if needed. API-key scope: `wiki:attachments:write`.
- fr_list_requests
List feature requests on a feedback board (by board slug). Filter by status / category / milestone name (lenient — trimmed + case-insensitive). Pass `q` to search request titles instead. Paginated via page/size. API-key scope: `feedback:requests:read`.
- fr_get_request
Get a feature request by short ID (e.g. "FR-42"). Returns full detail: title, description, status, category, milestone, voteCount, commentCount, reactions. Internal notes and linkedTaskIds are populated only when the caller has `View Internal Data` permission. API-key scope…
- fr_create_request
Create a new feature request on a board. Category is resolved by name (lenient match). No turnstile token required — API-key authentication is sufficient. Returns the new request with assigned shortId. API-key scope: `feedback:requests:write`.
- fr_set_request_status
Change a feature request's status by name. The name is resolved leniently against the request's board's status set (trim + case-insensitive). Returns the updated request detail. API-key scope: `feedback:requests:write`.
- fr_comment_request
Add a comment to a feature request. Pass isInternal=true to make the comment visible only to users with `View Internal Data` permission. API-key scope: `feedback:comments:write`.
- fr_vote_request
Toggle a vote or emoji reaction on a feature request. Passing emoji=null or omitting the field registers a plain upvote. Calling the tool again with the same emoji removes the vote (idempotent toggle). API-key scope: `feedback:votes:write`.
- fr_moderate_request
Approve, reject, or mark a feature request as spam. Action is case-insensitive. Requires `Manage Queue` permission. API-key scope: `feedback:moderation:write`.
- fr_delete_request
Permanently delete a feature request. Requires `Manage Queue` permission. Returns 204 on success. This operation is irreversible — confirm with the user before calling unless the intent is unambiguous. API-key scope: `feedback:requests:write`.
- fr_list_bugs
List bug reports on a feedback board (by board slug). Filter by severity and/or status name (lenient match). API-key scope: `feedback:bugs:read`.
Security scan
1 finding
- Unusually long description in tool:pm_list_reference_data
pm_list_reference_data (pm list reference data) List a Dutify reference-data enu…
Recent checks
| When | Result | HTTP | Time |
|---|---|---|---|
| 3 h ago | Passed | 200 | 369 ms |
| 17 h ago | Passed | 200 | 366 ms |
| 31 h ago | Passed | 200 | 408 ms |
| 46 h ago | Passed | 200 | 367 ms |
| 3 days ago | Passed | 200 | 268 ms |
Show 10 older checks
| 3 days ago | Passed | 200 | 416 ms |
| 4 days ago | Passed | 200 | 352 ms |
| 4 days ago | Passed | 200 | 380 ms |
| 5 days ago | Passed | 200 | 345 ms |
| 5 days ago | Passed | 200 | 344 ms |
| 6 days ago | Passed | 200 | 364 ms |
| 6 days ago | Passed | 200 | 353 ms |
| 7 days ago | Timed out | - | - |
| 7 days ago | Passed | 200 | 315 ms |
| 8 days ago | Passed | 200 | 394 ms |