A plugin that provides MCP service for Siyuan Note.
⚠️ Breaking changes: Upgrading from v0.1.x to v0.2.x introduces breaking changes. CHANGELOG_zh-CN
- Download from the marketplace or 1. unzip the
package.zip
in Release, 2. move the folder toworkspace/data/plugins/
, 3. and rename the folder tosyplugin-anMCPServer
; - Enable the plugin;
- The plugin listens on port
16806
by default (Host:127.0.0.1
), please usehttp://127.0.0.1:16806/sse
as the server access address;
⭐ If this is helpful to you, please consider giving it a star!
- [Search]
- Use keyword search;
- Use SQL search;
- [Retrieve]
- Fetch document kramdown by ID;
- List notebooks;
- Get back links;
- [Write]
- Append content to diary;
- Append content to a specific document by ID;
- Create new note by parent ID;
-
Q: How to use it in an MCP client?
Please refer to the later sections; -
Q: What are some common MCP clients?
-
Q: Does the plugin support authentication?
- Version v0.2.0 now supports authentication. After setting the authentication token in the plugin settings, the MCP client needs to configure the
authorization
request header with the valueBearer YourToken
;
- Version v0.2.0 now supports authentication. After setting the authentication token in the plugin settings, the MCP client needs to configure the
-
Q: What is the connection count?
- In SSE mode, this represents an active SSE connection. Due to clients not disconnecting properly or unknown software connections, the count may fluctuate;
- In Streamable HTTP mode and the current plugin implementation, the connection count is always 0;
-
Q: Can it be used in Docker?
-
No, the plugin relies on a Node.js environment and does not support running on mobile devices or Docker.
To support SiYuan deployed in Docker, it is recommended to switch to other MCP projects. Some relevant projects may be listed here.
Alternatively, decouple this plugin from the SiYuan frontend.
-
Different MCP clients require different configuration methods. Please refer to the MCP client documentation.
MCP clients are continuously updated, so the configuration or usage instructions here may not be directly applicable and are for reference only.
Here, we assume: the plugin’s port is
16806
, and the authorization token isabcdefg
.
Modify the MCP application’s configuration, select the Streamable HTTP
type, and configure the endpoint.
The following configuration uses Cherry Studio as an example. Different MCP clients may require different configuration formats—please refer to the MCP client documentation.
Plugin Without Authorization Token
- Type: Select Streamable HTTP (
streamablehttp
); - URL:
http://127.0.0.1:16806/mcp
; - Headers: Leave empty;
Plugin With Authorization Token
- Type: Select Streamable HTTP (
streamablehttp
); - URL:
http://127.0.0.1:16806/mcp
; - Headers:
Authorization=Bearer abcedfg
;
If the MCP client does not support HTTP-based communication and only supports stdio, a conversion method is needed.
Here, we use node.js
+ mcp-remote@next
.
-
Download Node.js: https://nodejs.org/en/download
-
Install
mcp-remote@next
:
npm install -g mcp-remote@next
The following configuration uses 5ire as an example. Different MCP clients may require different configuration formats—please refer to the MCP client documentation.
Plugin Without Authorization Token
Command:
npx mcp-remote@next http://127.0.0.1:16806/mcp
Plugin With Authorization Token
Command:
npx mcp-remote@next http://127.0.0.1:16806/mcp --header Authorization:${AUTH_HEADER}
Environment Variable:
Name: AUTH_HEADER
Value: Bearer abcdefg
Some dependencies are listed in
package.json
.
Developer/Project | Project Description | Citation |
---|---|---|
thuanpham582002/tabby-mcp-server | Provides MCP service within the terminal software Tabby; MIT License | Implementation method of MCP service |