A thin chat client for connecting to MCP Servers
To run the frontend application, use the following command:
make install
make run_frontend
See the example app in this repo for a ready-to-go docker-compose.yml
config.
Please copy the .mcp-servers-example.yaml
file to .mcp-servers.yaml
By default the app is configured to talk to a local MCP test server.
For this to work, you'll need to run the server yourself:
cd mcp-server-demo
npm install
npm run start
If the correct values are set in .mcp-servers.yaml
, the app will also attempt to connect to
a Caddy MCP server at that URL.
Additional MCP servers can be added to this file.
An MCP_SERVERS
env var can also be set that overrides the yaml file. See .env.example
for an example of this.
The Frontend uses Astro and Lit. There is a readme specific to Astro in the frontend directory.
The app is designed to work without JavaScript (for progressive enhancement), and with JavaScript added to provide enhancements such as streaming.
End-to-end tests using Playwright are located in the /tests
directory.
cd tests
npm install
npx playwright test
The docker images for the services will be built on every push to any branch by the github actions.
- Running
make release env=<env>
to release any commit todev
orpreprod
. - Pushing to main will release to
prod
.