MCP App Store
by KeenEthics

Overview

xTiles turns your ChatGPT conversations into organized, visual projects. Instead of losing research, plans, or ideas in scattered chat threads, ask ChatGPT to structure them directly into pages, tasks, and layouts inside your xTiles workspace. Turn a brainstorm into a project board, a trip idea into a planning page, or messy notes into something clear you can revisit, edit, and share — all without leaving the conversation.

Tools

xtiles_create_notification

ChatGPT
Create an in-app notification for the owner of the account you are working in, so they learn the work is done when they come back to it. It appears in their own notification feed inside xTiles: there is no recipient parameter and nothing is sent to anyone else. Call this AFTER you have finished all the work for the request, not before or mid-way. Call it once per place you touched (a project, or the Daily page), with one combined summary covering everything you did there — do not call it once per individual task/tile. If you touched two separate places, call this twice, once per place, each with its own url and summary.

xtiles_create_page_group

ChatGPT
Group existing pages together in the tab bar. Provide the view_ids of the pages to group (from xtiles_get_project_structure) and an optional title and color. Each page must currently be at the top level of the tab bar — to move a page already inside a different group, use xtiles_move_pages first (or after creating this group). Omit color to use the app default; the group can be recoloured later with xtiles_update_page_group. Returns the created group with its new id.

xtiles_create_project_from_markdown

ChatGPT
Create a new xTiles project from Markdown. The first # heading becomes the project title; ## headings become views; ### headings become tiles. At least one ## heading is required — a project with no views cannot be created. Returns the new project_id and view_id. If workspaceId is omitted, the first available workspace is used automatically.

xtiles_create_tasks

ChatGPT
Create one or more tasks. Provide projectId to create in a project, or omit for your personal tasks. If no assignees are explicitly specified, always call xtiles_get_current_user first to get the current user's id, then include them as an assignee by default.

xtiles_create_tiles_from_markdown_by_view

ChatGPT
Append tiles generated from Markdown into an existing xTiles view (page) by viewId alone. Preferred over xtiles_create_tiles_from_markdown_in_view — no projectId needed. Returns the affected view_id and IDs of the newly created tiles.

xtiles_create_tiles_from_markdown_in_my_planner

ChatGPT
Append tiles generated from Markdown into your personal planner for the period containing the given date. Returns the affected view_id and IDs of the newly created tiles.

xtiles_create_tiles_from_markdown_in_project_planner

ChatGPT
Append tiles generated from Markdown into a project planner for the period containing the given date. Returns the affected view_id and IDs of the newly created tiles.

xtiles_create_tiles_from_markdown_in_view

ChatGPT
DEPRECATED — use xtiles_create_tiles_from_markdown_by_view instead (no projectId required). Append tiles generated from Markdown into an existing xTiles view (page). Returns the affected view_id and IDs of the newly created tiles.

xtiles_create_view_from_markdown

ChatGPT
Create a new view (page) inside an existing xTiles project from Markdown. The first ## heading becomes the view title; ### headings become tiles. Returns the new view_id. Use xtiles_list_projects to find the projectId.

xtiles_delete_page

ChatGPT
Delete a page from the project's tab bar. Get viewId from xtiles_get_project_structure. Only pages listed by xtiles_get_project_structure are valid here. A planner day is not one of them: the API answers 404 for a page in another project and 409 for one inside this project’s planner. Read a planner day with xtiles_get_planner_content and write to it with xtiles_create_tiles_from_markdown_in_project_planner. THIS IS PERMANENT — there is no undo through this API. If the goal is just to get the page out of the way rather than gone for good, use xtiles_update_page with is_archived: true instead — reversible, unlike this. Approval is handled outside this call (the client asks the user before it runs), so once the user has named which page to delete, delete it rather than asking again in chat; ask only when you cannot tell which page they meant.

xtiles_delete_page_group

ChatGPT
Delete a page group from the tab bar. Get groupId from xtiles_get_project_structure. DELETING A GROUP DOES NOT DELETE ITS PAGES — they are not removed, only ungrouped: they return to the top level of the tab bar. This is a safe, everyday tidy-up operation; there is no need to warn the user their pages will be lost, because they will not be. If the goal is to get the group and its pages out of the tab bar while keeping them grouped, use xtiles_update_page_group with is_archived: true instead — reversible, and keeps the grouping, unlike this. Never target a group whose system flag is true (the planner) — the API refuses it with a 409, and it should not be attempted.

xtiles_delete_tasks

ChatGPT
Delete one or more tasks by IDs. Provide projectId for project tasks, or omit for personal tasks. Deletion is permanent and cannot be undone — confirm with the user before invoking.

xtiles_get_collection_content

ChatGPT
Fetch rows from an xTiles collection (database) view as CSV with pagination. Prerequisite: call xtiles_get_view_content for the collection page to learn its collection.views[] and pick a collection_view_id. The CSV header reflects the columns visible in that collection view; column types and IDs come from the collection schema. Note: server-side filtering is not yet exposed via this endpoint — apply any required filters client-side after fetching, or page through results until the desired rows are found.

xtiles_get_current_user

ChatGPT
Get the profile of the currently authenticated user (id, name, email). Call this when you need to assign tasks to the current user and no explicit assignee was specified.

xtiles_get_docs

ChatGPT
Fetch an xTiles guide/documentation document by its xtiles://guide/... URI. The same documents are also exposed as MCP resources — use this tool when your client cannot read resources directly. Before generating Markdown for any *_from_markdown tool, read xtiles://guide/markdown/overview (and /canvas, /collections, /blocks) to get the syntax. xtiles://guide/markdown/design holds the colours, styles, layout and tab colours created content takes.

xtiles_get_page_layout

ChatGPT
Read the grid layout of an xTiles page (view) by viewId: every tile with its title and grid position (x, y, w, h), plus the grid bounds (max width/height) and minimum tile size. Coordinates use the xTiles grid — (x, y) is the tile’s top-left corner and (w, h) is its size, in grid cells. Use this to inspect tile placement and valid bounds before repositioning with xtiles_set_page_layout.

xtiles_get_planner_content

ChatGPT
Read planner content for a given period (day/week/month) anchored on a date. Provide projectId for a project planner, or omit for your personal planner.

xtiles_get_project_content

ChatGPT
Read the combined content of a project (concatenated views) with cursor-based pagination. Use start_view_id + limit to page through a large project. Response includes view_ids covered in this page, any inaccessible_view_ids, and next_view_id (pass as start_view_id to fetch the next page; absent when done).

xtiles_get_project_structure

ChatGPT
Read the structure of a project's tab bar: every page and group, top to bottom, with their ids. Call this FIRST — every other tool in this group (xtiles_update_page, xtiles_delete_page, xtiles_create_page_group, xtiles_update_page_group, xtiles_delete_page_group, xtiles_move_pages) needs a viewId and/or groupId that only this call gives you. Each entry has kind: "PAGE" (a bare page, with id, title, view_type, color, is_archived) or kind: "GROUP" (a group of pages, with id, title, color, group_type, system, is_archived, and pages). Archived pages/groups (is_archived: true) are listed here too, not filtered out — this is the only way to find one again to unarchive it with xtiles_update_page/xtiles_update_page_group. A group with system: true is product-managed (the planner) — its pages field is OMITTED entirely, not an empty list, and you must never rename it, delete it, or move pages into or out of it. The API refuses such an attempt with a 409, but do not even try: treat every system: true group as read-only and invisible to the write tools in this group. Those omitted pages are planner days, addressed by date instead of by id: read one with xtiles_get_planner_content (period + date + this projectId), write to it with xtiles_create_tiles_from_markdown_in_project_planner.

xtiles_get_task

ChatGPT
Get a single task by ID. Provide projectId for project tasks, or omit for personal tasks.

xtiles_get_tile_styles

ChatGPT
Read the color styling of every tile on an xTiles page (view) by viewId: each tile with its title, color (palette background color) and color_size (color variant / border style). Both are null when the tile has no palette color. Use this to inspect current colors before recoloring with xtiles_set_tile_styles. It is also where the palette of an existing page is read before adding tiles to it, so the new tiles continue those colours — see xtiles://guide/markdown/design.

xtiles_get_user_timezone

ChatGPT
Get the current user's timezone and local datetime. Call this before creating, updating, or filtering tasks by due date — it provides the timezone context needed to interpret relative expressions like "tomorrow", "next Monday", or "end of day" correctly. When resolving future dates use the timezone IANA string, not utc_offset_minutes — the offset may differ for future dates due to DST transitions.

xtiles_get_view_content

ChatGPT
Read the content of a specific xTiles view (page) by viewId. For a regular page: returns the title plus markdown body. For a collection (database) page: returns the collection schema — its attributes (columns) with id, title, and type, plus the list of collection views (id, type, title). To fetch the actual rows of a collection, follow up with xtiles_get_collection_content using one of the listed collection view IDs.

xtiles_get_view_content_with_project

ChatGPT
DEPRECATED — use xtiles_get_view_content instead (no projectId required). Read the content of a specific xTiles view (page) as a formatted body.

xtiles_get_workflow

ChatGPT
Fetch the full step-by-step instructions for a pre-built xTiles workflow by id. Discover ids with xtiles_list_workflows first. The returned Markdown is an instruction you MUST follow: execute its steps by calling the relevant xtiles_* tools. If the workflow is recurring (e.g. a daily brief), set up the schedule using your own scheduling capability as the instructions describe — this server does not run schedules itself.

xtiles_list_calendar_events

ChatGPT
List events from the Google and Outlook calendars connected to the user's xTiles account. Read-only — events cannot be created, edited or deleted here. With no dates, returns today. An event is returned when ANY part of it falls inside the window, so a meeting running from 23:30 to 00:30 appears on both days — unlike xtiles_list_tasks, where the same parameters match a single due date. An empty list means no events in that window; it does NOT mean the user has no calendar connected, and this tool cannot tell the two apart. Tasks live in xtiles_list_tasks — call both to see a whole day.

xtiles_list_projects

ChatGPT
List all workspaces with their projects. Returns workspace names/IDs and the projects inside each. Use this to discover available projectId values for other tools.

xtiles_list_tasks

ChatGPT
List tasks with optional filters. Provide projectId to list project tasks, or omit for your personal tasks.

xtiles_list_workflows

ChatGPT
List the pre-built xTiles workflows — curated, step-by-step recipes the team has prepared (recurring digests, weekly reviews, briefs, planner/space setup, onboarding, etc.). Call this FIRST — before you start assembling any multi-step process in xTiles by hand — whenever the user wants to set up, automate, schedule, recurring-ly produce, onboard, or "have xTiles do something for them", or asks what xTiles can do automatically. If there is any chance a prepared workflow already covers the request, check here before improvising with individual xtiles_* tools. Returns each workflow id, title, and when to use it — match the request to the closest entry, then call xtiles_get_workflow with that id to get the exact step-by-step instructions to follow. If nothing matches, proceed normally with the other tools.

xtiles_move_pages

ChatGPT
Move and/or reorder pages in the tab bar: into a group, out to the top level, or to a new position within their current context. Get view_ids and group_id from xtiles_get_project_structure. Set group_id to a group id to move the pages into that group, or to null to move them to the top level of the tab bar (out of any group). Never target a group whose system flag is true (the planner) — the API refuses it with a 409. Pages already inside a system group cannot be moved at all — the API answers 409. position is OPTIONAL: omit it and the moved pages are appended to the end of the target (the group, or the tab bar when group_id is null) — this is almost always what "add this page to that group" or "move this page out" means, so do not invent a position for those requests. Pass position only when precise placement matters: relative_to_id must be an existing PAGE id (never a group id) and direction is BEFORE or AFTER it. The API answers with no body on success — call xtiles_get_project_structure afterwards if you need to see the resulting tab bar.

xtiles_patch_view_content

ChatGPT
Edit a view (page) content via search-and-replace over its markdown representation. Workflow: (1) read the page with xtiles_get_view_content, (2) find the substrings to change, (3) send replacements. All replacements are applied atomically against the original markdown. old_str must match exactly once — if ambiguous, include more surrounding context to make it unique. Supports: editing block text, renaming tiles, deleting blocks/tiles, adding blocks before/after an anchor, compound diffs, and replacing a whole table with a whole table. Tables: to edit a table, put its ENTIRE current markdown in old_str and ONE entire new markdown table in new_str. Partial-table edits, table→paragraph, or table→multiple tables are not supported (409). Returns the updated markdown on success. Errors: 409 patch_match_not_found (old_str not in page), 409 patch_match_not_unique (add more context), 409 patch_unsupported_target (e.g. changing heading level, cross-tile span).

xtiles_reset_tile_styles

ChatGPT
Clear the palette color (color and color_size) of the listed tiles on an xTiles page (view). Structural style (icon) and any custom workspace color are left unchanged — this manages only the palette color. Returns the resulting full tile-style state.

xtiles_search_projects

ChatGPT
Full-text search across projects. Returns matching projects with their views (pages) and highlighted snippets. Use this when the user references a project by name or topic rather than ID.

xtiles_search_users

ChatGPT
Search for users by name or email. Useful for finding user IDs to assign tasks.

xtiles_set_page_description

ChatGPT
Set (or clear) the description of an xTiles view (page) by viewId. The description is inline Markdown shown under the page title and may span multiple lines. Provide description text to set and show it; pass an empty string to clear and hide it. Returns the resulting description and whether it is shown.

xtiles_set_page_layout

ChatGPT
Reposition tiles on an xTiles page (view). Provide viewId and a list of tiles with their new grid positions (x, y, w, h). Only the listed tiles move; the rest keep their current position. Coordinates use the xTiles grid — (x, y) is the top-left corner and (w, h) the size, in grid cells. Out-of-bounds or overlapping positions are rejected. Returns the resulting full layout. Tip: call xtiles_get_page_layout first to get tile IDs and current positions.

xtiles_set_tile_styles

ChatGPT
Set the color and/or color_size of one or more tiles on an xTiles page (view). Merges into each tile’s existing style — the tile’s icon and any custom workspace color are preserved. Provide at least one of color/color_size per tile; an omitted field is left unchanged. Returns the resulting full tile-style state. Tip: call xtiles_get_tile_styles first for tile IDs. Which colours, styles, sizes and positions to use: xtiles://guide/markdown/design.

xtiles_structure_information

ChatGPT
Create a virtual xTiles project from unstructured information. The input is processed by the internal AI, which structures it into a visual project layout, and a shareable URL to that project is returned. Use this when the user has loose content (notes, ideas, a topic, pasted text) and wants it organised into an xTiles project they can open and share, without picking a workspace or creating views manually.

xtiles_update_page

ChatGPT
Update a page in the project's tab bar — rename it, recolour it and/or archive it: provide title, color, is_archived, or any combination. Get viewId from xtiles_get_project_structure. Only pages listed by xtiles_get_project_structure are valid here. A planner day is not one of them: the API answers 404 for a page in another project and 409 for one inside this project’s planner. Read a planner day with xtiles_get_planner_content and write to it with xtiles_create_tiles_from_markdown_in_project_planner. The API answers with no body on success, so there is nothing to return beyond confirmation.

xtiles_update_page_group

ChatGPT
Update a page group in the tab bar — rename it, recolour it and/or archive it: provide title, color, is_archived, or any combination. Archiving a group archives it and its pages together. Get groupId from xtiles_get_project_structure. Never target a group whose system flag is true (the planner) — the API refuses it with a 409, and it should not be attempted. The API answers with no body on success, so there is nothing to return beyond confirmation.

xtiles_update_task

ChatGPT
Update an existing task. Provide projectId for project tasks, or omit for personal tasks. Only specified fields will be updated.

xtiles_create_project_from_markdown

Claude

xtiles_create_tasks

Claude

xtiles_create_tiles_from_markdown_by_view

Claude

xtiles_create_tiles_from_markdown_in_my_planner

Claude

xtiles_create_tiles_from_markdown_in_project_planner

Claude

xtiles_create_tiles_from_markdown_in_view

Claude

xtiles_create_view_from_markdown

Claude

xtiles_delete_tasks

Claude

xtiles_get_collection_content

Claude

xtiles_get_current_user

Claude

xtiles_get_docs

Claude

xtiles_get_page_layout

Claude

xtiles_get_planner_content

Claude

xtiles_get_project_content

Claude

xtiles_get_task

Claude

xtiles_get_tile_styles

Claude

xtiles_get_user_timezone

Claude

xtiles_get_view_content

Claude

xtiles_get_view_content_with_project

Claude

xtiles_get_workflow

Claude

xtiles_list_projects

Claude

xtiles_list_tasks

Claude

xtiles_list_workflows

Claude

xtiles_reset_tile_styles

Claude

xtiles_search_projects

Claude

xtiles_search_users

Claude

xtiles_set_tile_styles

Claude

xtiles_update_task

Claude

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

Similar Apps