
@purinton/architect 


A modern, AI-powered Discord app for server automation and administration, built with Node.js and the @purinton/discord foundation. Architect integrates the Model Context Protocol (MCP) and OpenAI for conversational, natural language server management.
Table of Contents
Features
- AI-driven Discord server automation and administration
- Conversational interface: chat with Architect by mentioning
@Architect
or replying to its messages
- Only responds to users with Administrator permissions for security
- Multi-language/localized responses (see
locales/
)
- Command and event handler architecture (see
commands/
and events/
)
- Environment variable support via dotenv
- Logging and signal handling via
@purinton/common
- Ready for deployment with systemd or Docker
- Jest for testing
Getting Started
-
Clone this project:
git clone https://github.com/purinton/architect.git
cd architect
npm install
-
Set up your environment:
- Copy
.env.example
to .env
and fill in your Discord app token and other secrets.
- Edit
package.json
(name, description, author, etc.)
- Update this
README.md
as needed.
-
Start the app locally:
npm start
# or
node architect.mjs
Configuration
- All configuration is handled via environment variables in the
.env
file.
- See
.env.example
for required and optional variables.
- The
openai.json
file configures OpenAI prompt and tool integration.
- The
tools.json
file (or tools.json.example
) defines available MCP tools.
Running as a Service (systemd)
-
Copy architect.service
to /usr/lib/systemd/system/architect.service
.
-
Edit the paths and user/group as needed.
-
Reload systemd and start the service:
sudo systemctl daemon-reload
sudo systemctl enable architect
sudo systemctl start architect
sudo systemctl status architect
Docker
-
Build the Docker image:
docker build -t architect .
-
Run the container:
docker run --env-file .env architect
Customization
Commands
- Add new commands in the
commands/
directory.
- Each command has a
.json
definition (for Discord registration/localization) and a .mjs
handler (for logic).
- Example: see
commands/help.json
and commands/help.mjs
.
Events
- Add or modify event handlers in the
events/
directory.
- Each Discord event (e.g.,
ready
, messageCreate
, interactionCreate
) has its own handler file.
- Example: see
events/messageCreate.mjs
for AI chat logic.
Locales
- Add or update language files in the
locales/
directory.
- Localize command names, descriptions, and app responses.
- Example: see
locales/en-US.json
for English responses.
Testing
Support
For help, questions, or to chat with the author and community, visit:


Purinton Dev on Discord
License
MIT © 2025 Russell Purinton
Links