## 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.