This is a Flutter-based project designed to manage and configure MCP (Multi-Connection Protocol) servers. The application provides a user-friendly interface for managing API keys, configuring server settings, and handling custom environment variables. The application uses the mcp_dart package to facilitate communication with MCP servers.
- API Key Management: Save, clear, and manage API keys securely using
SharedPreferences
. - MCP Server Management:
- Add, edit, and delete MCP server configurations.
- Toggle server connection states.
- Apply changes to synchronize server connections.
- Custom Environment Variables: Define and manage custom environment variables for each server.
- Display Settings: Toggle the visibility of code blocks in chat messages.
To run this project, ensure you have Flutter SDK installed on your machine. Follow the guidelines.
-
Clone the repository:
git clone git@github.com:leehack/flutter-mcp-ai-chat.git cd flutter-mcp-ai-chat
-
Install dependencies:
flutter pub get
-
Run the application:
flutter run
The API key is necessary to talk to the Gemini model. You can manage your API key through the settings screen. The key can be created from the Google AI Studio.
- Navigate to the Settings screen.
- Enter your API key in the provided text field.
- Click Save Key to store the key locally.
- Use the Clear Key button to remove the stored key.
The MCP server management feature allows you to add, edit, and delete server configurations. You can also toggle the connection state of each server. At the moment, the application supports only the stdio based servers. For the example of MCP servers you can find from https://github.com/modelcontextprotocol/servers
- Add a new server by clicking the Add New MCP Server button.
- Fill in the server details, including name, command, arguments, and custom environment variables.
- Save the server configuration.
- Toggle the server's connection state using the switch in the server list.
- Apply changes to synchronize server connections.
- While adding or editing a server, use the Custom Environment Variables section to define key-value pairs.
- Add new variables using the Add Variable button.
- Remove variables using the delete icon next to each variable.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Commit your changes and push them to your fork.
- Submit a pull request with a detailed description of your changes.
This project is licensed under the MIT License. See the LICENSE file for details.