{
  "info": {
    "name": "HackMD — mcp.ai",
    "description": "REST API for the HackMD MCP. Set {{apiKey}} to a workspace key (sk_live_…) created at https://mcp.ai/settings/api-keys.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.mcp.ai/api/hackmd",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "sk_live_...",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "hackmd_create_note",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/create/note",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "create",
            "note"
          ]
        },
        "description": "Create a Markdown note in the personal workspace or a specified team workspace. The team branch is documented but was not live-tested because the test account belongs to no teams.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"tags\": \"\",\n  \"title\": \"\",\n  \"content\": \"\",\n  \"team_path\": \"\",\n  \"description\": \"\",\n  \"read_permission\": \"\",\n  \"parent_folder_id\": \"\",\n  \"write_permission\": \"\",\n  \"comment_permission\": \"\",\n  \"suggest_edit_permission\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "hackmd_get_account",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/account",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "account"
          ]
        },
        "description": "Return the HackMD profile for the connected token and the teams visible to it. Use the returned team paths with tools that accept team_path.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "hackmd_get_note",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/get/note",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "get",
            "note"
          ]
        },
        "description": "Get a note by ID, including its Markdown content. The personal note route can also retrieve an accessible team note, so no team selector is needed.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"note_id\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "hackmd_list_folders",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/folders",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "folders"
          ]
        },
        "description": "List all folders in the personal workspace, or in one team workspace when team_path is supplied. Use a folder ID as parent_folder_id when creating a note. The team route is documented but was not live",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"team_path\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "hackmd_list_notes",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/notes",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "notes"
          ]
        },
        "description": "List all notes in the personal workspace, or in one team workspace when team_path is supplied. HackMD returns the complete collection without pagination; the team route is documented but was not live-",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"team_path\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "hackmd_list_trash",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/list/trash",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "list",
            "trash"
          ]
        },
        "description": "List soft-deleted notes in the personal workspace. Team trash is intentionally excluded because it requires team-admin permission and could not be live-tested.",
        "body": {
          "mode": "raw",
          "raw": "{}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "hackmd_move_note_to_trash",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/move/note/to/trash",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "move",
            "note",
            "to",
            "trash"
          ]
        },
        "description": "Soft-delete a note by moving it to trash in the personal workspace or an explicitly selected team workspace. This is not permanent deletion. Personal notes can be restored with HACKMD_RESTORE_NOTES; t",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"note_id\": \"\",\n  \"team_path\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    },
    {
      "name": "hackmd_restore_notes",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "url": {
          "raw": "{{baseUrl}}/restore/notes",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "restore",
            "notes"
          ]
        },
        "description": "Restore one or more personal notes from HackMD trash. Returns a per-note success or failure outcome so a partial HTTP 207 result is never reported as an unconditional success.",
        "body": {
          "mode": "raw",
          "raw": "{\n  \"note_ids\": \"\"\n}",
          "options": {
            "raw": {
              "language": "json"
            }
          }
        }
      }
    }
  ]
}