From 3767f424fe6d9acdc9f8f7b30f150ff03a311e3d Mon Sep 17 00:00:00 2001 From: Siwat Sirichai Date: Sun, 6 Jul 2025 17:21:16 +0700 Subject: [PATCH] feat: add initial documentation for Siwat System MCP DXT extension --- GEMINI.md | 29 ++++++++++++++++++++++++++++ README.md | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 GEMINI.md create mode 100644 README.md diff --git a/GEMINI.md b/GEMINI.md new file mode 100644 index 0000000..88bfbe8 --- /dev/null +++ b/GEMINI.md @@ -0,0 +1,29 @@ +## Project: siwatsystem-mcp-dxt + +This project is a Claude DXT extension for the Siwat System API. It allows users to interact with the Siwat System API through Claude. + +### Files + +* **`package.json`**: Defines the project's dependencies and scripts. +* **`tsconfig.json`**: Configures the TypeScript compiler. +* **`build.ts`**: A script for building the DXT extension. It uses `@vercel/ncc` to bundle the code and `archiver` to create the `.dxt` file. +* **`.gitea/workflows/build.yml`**: A Gitea workflow for building and packaging the DXT extension. +* **`assets/manifest.json`**: The manifest file for the DXT extension. It defines the extension's metadata, server configuration, and user-configurable settings. +* **`assets/icon.png`**: The icon for the DXT extension. +* **`.gitignore`**: Specifies which files and directories to ignore in Git. + +### How it works + +The DXT extension works by running a local MCP (Model Control Protocol) server that proxies requests to the Siwat System API. The `build.ts` script bundles the `mcp-remote` package, which is a generic MCP server, into a single `index.js` file. This file is then packaged into a `.dxt` file along with the `manifest.json` and `icon.png`. + +When a user installs the `.dxt` file in Claude Desktop, Claude starts the MCP server and uses the information in the `manifest.json` to configure it. The user is prompted to enter their Siwat System API key, which is then used to authenticate with the Siwat System API. + +### How to build + +To build the DXT extension, run the following command: + +``` +bun build.ts +``` + +This will create a `dist` directory containing the bundled `index.js` file and the `siwat_system_mcp.dxt` file. diff --git a/README.md b/README.md new file mode 100644 index 0000000..7625c43 --- /dev/null +++ b/README.md @@ -0,0 +1,56 @@ +# Siwat System MCP DXT + +This is a Claude DXT extension for the [Siwat System API](https://portal.siwatsystem.com). It allows you to interact with the Siwat System API through Claude. + +## Features + +* Set VPN location for your devices +* Get VPN location for your devices +* Get email history for your domains + +## Installation + +1. Download the latest `siwat_system_mcp.dxt` file from the [releases page](https://github.com/orgs/siwatsystem/packages?repo_name=siwatsystem-mcp-dxt). +2. Open Claude Desktop and go to **Settings > Extensions**. +3. Click **Install Extension** and select the downloaded `.dxt` file. +4. Enter your Siwat System API key when prompted. + +## Usage + +Once the extension is installed, you can use the following prompts in Claude: + +* `Set the VPN location my [device] to [location]` +* `Get the VPN location for my [device]` +* `Get the email history for [domain] from [start_date] to [end_date]` + +## Building from source + +To build the DXT extension from source, you will need to have [Bun](httpshttps://bun.sh/) installed. + +1. Clone this repository: + +``` +git clone https://github.com/siwatsystem/siwatsystem-mcp-dxt.git +``` + +2. Install the dependencies: + +``` +bun install +``` + +3. Build the extension: + +``` +bun run build +``` + +This will create a `dist` directory containing the `siwat_system_mcp.dxt` file. + +## Disclaimer + +This is a third-party extension and is not officially supported by Siwat System. Use at your own risk. + +## License + +This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.