### Start Claude Code Client Source: https://outliner.tana.inc/learn/guides/ai-assistants-mcp After installation, run this command in a new terminal window to start the Claude Code client. This command assumes the client has been added to your system's PATH. ```bash claude ``` -------------------------------- ### Install Project Skills for Claude Source: https://outliner.tana.inc/learn/guides/ai-assistants-mcp Use this path to install skills that are specific to a single project. ```bash # Project skills (available in one project) .claude/skills/ ``` -------------------------------- ### Creating a plain node Source: https://outliner.tana.inc/learn/features/input-api This example demonstrates how to create a basic plain text node with a name and description. ```APIDOC ## Creating a plain node ### Description Creates a simple node with a specified name and description. ### Method POST (assumed, as it's an 'addToNoteV2' endpoint) ### Endpoint /addToNoteV2 ### Request Body - **targetNodeId** (string) - Optional - The ID of the node where new nodes will be created. Defaults to 'Library'. - **nodes** (array) - Required - An array of node objects to create. - **name** (string) - Required - The name of the node. Cannot contain newlines. Supports basic formatting. - **description** (string) - Optional - The description for the node. Cannot contain newlines. ### Request Example ```json { "nodes": [ { "name":"My plain node", "description": "This is a plain node example." } ] } ``` ### Response (Success response details not provided in source) ``` -------------------------------- ### Install Personal Skills for Claude Source: https://outliner.tana.inc/learn/guides/ai-assistants-mcp Use this path to install skills that will be available across all your projects. ```bash # Personal skills (available in all projects) ~/.claude/skills/ ``` -------------------------------- ### Creating a date node Source: https://outliner.tana.inc/learn/features/input-api This example demonstrates creating a date node using the ISO 8601 format for the date and time. ```APIDOC ## Creating a date node ### Description Creates a node of type 'date', accepting various ISO 8601 formats. ### Method POST (assumed) ### Endpoint /addToNoteV2 ### Request Body - **nodes** (array) - Required - Array of node objects. - **dataType** (string) - Required - Must be 'date'. - **name** (string) - Required - The date/time value in ISO 8601 format (e.g., 'YYYY-MM-DD HH:MM:SS'). All dates are sent as UTC. ### Request Example ```json { "nodes": [ { "dataType": "date", "name":"2023-12-01 08:00:00" } ] } ``` ### Response (Success response details not provided in source) ``` -------------------------------- ### Payload Example for Existing Supertags Source: https://outliner.tana.inc/learn/features/input-api This payload example demonstrates how to compile JSON for existing supertags in the Tana Outliner API. ```json { "nodes": [ { "name": "New node", "supertags": [ { "id": "MaaJRCypzJ" } ], "children": [ { "type": "field", "attributeId": "iKQAQN38Vx", "children": [ { "dataType": "date", "name": "2023-05-10T08:25:59.059Z" } ] }, { "name": "Child node" } ] } ] } ``` -------------------------------- ### Example Prompt for Text Processing Agent Source: https://outliner.tana.inc/learn/features/ai-command-nodes This is an example prompt that can be used to configure the Text Processing Agent for extracting specific information from transcripts, such as user observations. ```text EXAMPLE PROMPT: GOAL: - You are a senior UX researcher tasked with finding relevant “user observations” in an onboarding transcript and reporting them back classified according to the provided tags. TASK: - Find all moments in the transcript when the user experience any of the described types of observation found in the supplied tags. - You work for Acme Inc., and it is the experiences of the user - not the team member - you want to observe and capture. The person with the #team acme tag works at Acme Inc. The person being onboarded is tagged #person. - Find at least 10 items, and at least 2 of each type. ``` -------------------------------- ### Creating a reference node Source: https://outliner.tana.inc/learn/features/input-api This example shows how to create a reference node by specifying its data type and the target node ID. ```APIDOC ## Creating a reference node ### Description Creates a node of type 'reference', linking to another node using its ID. ### Method POST (assumed) ### Endpoint /addToNoteV2 ### Request Body - **nodes** (array) - Required - Array of node objects. - **dataType** (string) - Required - Must be 'reference'. - **id** (string) - Required - The nodeID of the node being referenced. ### Request Example ```json { "nodes": [ { "dataType": "reference", "id": "nodeID" } ] } ``` ### Response (Success response details not provided in source) ``` -------------------------------- ### API Schema Example Source: https://outliner.tana.inc/learn/features/input-api An example of a typical API schema structure for Tana Outliner. ```typescript type Node = { name: string; description?: string; supertags: [{ /* meeting */ id: 'MaaJRCypzJ' }]; children: [ { /* Date */ type: 'field'; attributeId: 'iKQAQN38Vx'; children: [{ dataType: 'date'; name: string; }]; }, ]; }; ``` -------------------------------- ### Creating a plain node with a field Source: https://outliner.tana.inc/learn/features/input-api This example shows how to create a plain node that includes an existing field and its value. ```APIDOC ## Creating a plain node with a field ### Description Creates a plain node that contains a predefined field and a value for that field. ### Method POST (assumed) ### Endpoint /addToNoteV2 ### Request Body - **nodes** (array) - Required - Array of node objects. - **name** (string) - Required - The name of the parent node. - **children** (array) - Required - An array of child objects, typically fields. - **type** (string) - Required - Must be 'field'. - **attributeId** (string) - Required - The ID of the existing field to add. - **children** (array) - Required - An array containing the value for the field. - **name** (string) - Required - The value of the field. ### Request Example ```json { "nodes": [ { "name":"My plain node", "children": [ { "type": "field", "attributeId": "nodeID", "children": [ { "name": "Field value" } ] } ] } ] } ``` ### Response (Success response details not provided in source) ``` -------------------------------- ### Tana Paste URL Example Source: https://outliner.tana.inc/learn/features/tana-paste Shows how to include a clickable URL with a name in Tana Paste. The URL must include the 'https://' prefix. ```plaintext %%tana%% - [Tana Outliner website](https://tana.inc) ``` -------------------------------- ### Tana Paste Search Node Example Source: https://outliner.tana.inc/learn/features/tana-paste Demonstrates a search node with a view, a tag, a field with a specific node ID, and a 'NOT DONE' filter. ```plaintext %%tana%% - %%search%% Todo with start-date within next month %%view:table%% - [[#task]] - LT:: - Due date^B_QE7GpJBP :: [[May 10th, 2024]] - NOT DONE ``` -------------------------------- ### Creating a node with two supertags Source: https://outliner.tana.inc/learn/features/input-api This example demonstrates creating a node and applying two existing supertags to it, targeting the Inbox. ```APIDOC ## Creating a node with two supertags ### Description Creates a node and assigns two specified supertags to it. The node is targeted to the Inbox. ### Method POST (assumed) ### Endpoint /addToNoteV2 ### Parameters #### Query Parameters - **targetNodeId** (string) - Optional - Specifies the target for node creation. Example: 'INBOX'. ### Request Body - **nodes** (array) - Required - Array of node objects. - **name** (string) - Required - The name of the node. - **description** (string) - Optional - The description of the node. - **supertags** (array) - Required - An array of objects, each specifying a supertag to apply. - **id** (string) - Required - The nodeID of the supertag. ### Request Example ```json { "targetNodeId": "INBOX", "nodes": [ { "name": "The Hobbit", "description": "A book by J.R.R. Tolkien", "supertags": [{"id": "nodeID-1"}, {"id": "nodeID-2"}] } ] } ``` ### Response (Success response details not provided in source) ``` -------------------------------- ### Gemini CLI MCP Server Configuration Source: https://outliner.tana.inc/learn/features/local-api-mcp Example JSON configuration for the Gemini CLI MCP server, specifying the URL and type for the Tana local server. ```json { "mcpServers": { "tana-local": { "url": "http://localhost:8262/mcp", "type": "http" } } } ``` -------------------------------- ### Install Claude Code on Mac or Linux Source: https://outliner.tana.inc/learn/guides/ai-assistants-mcp Use this command to download and install the Claude Code client on macOS or Linux systems. Ensure you have curl installed. ```bash curl -fsSL https://claude.ai/install.sh | bash ``` -------------------------------- ### Open Settings Command Source: https://outliner.tana.inc/learn/features/account-settings Access the settings panel using the command line interface. This command opens a new panel displaying various configuration options. ```text Open settings ``` -------------------------------- ### Install MCP Remote Bridge Source: https://outliner.tana.inc/learn/features/local-api-mcp Install the mcp-remote bridge globally using npm, which is required for Claude Desktop to connect to local HTTP servers. ```bash npm install -g mcp-remote ``` -------------------------------- ### Install Claude Code on Windows (PowerShell) Source: https://outliner.tana.inc/learn/guides/ai-assistants-mcp Use this PowerShell command to download and install the Claude Code client on Windows. Ensure you have PowerShell 5.1 or later. ```powershell irm https://claude.ai/install.ps1 | iex ```