Integrate with External Programs via Local HTTP Server

Source

If you want to access your notes from external programs, you can use the local HTTP server. The Inkdrop client app can run a simple HTTP server locally. It is useful for automating tasks such as generating static sites by exporting notes with a tool like live-export. It also allows you to integrate with external programs such as Web clipper, launcher apps like Raycast and Alfred, the official MCP server, static site generators like Astro, etc.

How it works

Local REST API endpoint

By default, the Inkdrop client app declines requests from external networks for security reasons. It only accepts requests from the loopback network (localhost or 127.0.0.1). Also, you will set up the authentication credentials to protect unwanted access.

API reference

See the local HTTP server reference for more details.

How to configure the local HTTP server

Preferences

Open the Preferences window and click the Local Server section in the sidebar.

  • Enabled - Check this box to enable the local HTTP server. Default is unchecked.
  • Port number - Defines the port number to listen. Default is 19840.
  • Bind Address - Defines the IP address to listen. Default is 127.0.0.1.
  • Username - Defines username of the Basic auth credentials.
  • Password - Defines password of the Basic auth credentials.

Click the Apply button to apply the changes. The auth info will be encrypted and stored safely in config.json in the user data directory.

Server logs

By pressing the View Server Logs button, you can check the server access logs updated in real-time. The path to the log file is USER_DATA_DIRECTORY/server.log.

Troubleshooting

Check if the local server is running correctly with curl:

curl -v -u foo:bar http://localhost:19840/
# -> {"version":"5.10.0","ok":true}

Run the app with --enable-logging flag to see the server logs. See the documentation for more detail.

/Applications/Inkdrop.app/Contents/MacOS/Inkdrop --enable-logging

If the server is running correctly, you should see logs like this:

  app:info Starting server on 127.0.0.1:19840
Can you help us improve the docs? 🙏

The source of these docs is here on GitHub. If you see a way these docs can be improved, please fork us!