If you want to access TW tiddlers from a 3rd party tool, that needs a server API to retrieve data, you will need a Node.js server – yes.
If you want to extract data from a database, where you have full control of the database there are 2 options to create a TW.
You can use “tm-http-request” to dynamically access data from a database using TW.
Or
You can extract static data from the database as a TW store object which is described at: How do TWs JSON Formats Look Like
In detail: How do TWs JSON Formats Look Like
You can use empty.html. Create a JSON file that contains a TW data-store as described above and concatenate those 2 files from a CLI – into a single file wiki.
The next time the TW will be opened, it will contain all the tiddlers from the store.
Hope that helps
-mario