shariqbaig/agentdock
If you are the rightful owner of agentdock and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
AgentDock is a Model Context Protocol (MCP) server designed to facilitate the registration, management, and interaction with intelligent agents through a user-friendly interface.
AgentDock
AgentDock is a Model Context Protocol (MCP) server with a clean UI to register, manage, and interact with intelligent agents. It enables multi-agent orchestration, tool integrations (e.g., GitHub, Slack, Jira), and LLM-powered interactions via Groq.
Features
- MCP-Compatible Agent Server: Implement the Model Context Protocol standard for agent interactions
- Multi-Agent Support: Register and manage multiple specialized agents
- Tool Integrations: Connect with GitHub, Slack, Jira, and more
- Natural Language Interface: Interact with agents using Groq LLM
- Clean UI: Modern React frontend with Material UI
- Modular Architecture: Easily extend with new integrations
- Monitoring & Logs: Track agent activities and system logs
Architecture
AgentDock/
āāā backend/ # Node.js MCP server
ā āāā server/ # Core MCP server implementation
ā āāā agents/ # Multi-agent support
ā āāā tools/ # Tool integrations
ā āāā api/ # REST API
āāā frontend/ # React frontend with Material UI
āāā docker/ # Docker configuration
āāā docs/ # Documentation
Prerequisites
- Node.js 16+ and npm
- Docker and Docker Compose
- Groq API key (for LLM capabilities)
- API tokens for tool integrations (GitHub, Slack, Jira)
Installation
Using Docker (Recommended)
-
Clone the repository:
git clone https://github.com/yourusername/AgentDock.git cd AgentDock
-
Create a
.env
file in the root directory with your API keys:# Server Configuration PORT=3001 LOG_LEVEL=info # Groq Configuration GROQ_API_KEY=your_groq_api_key GROQ_MODEL=llama-3.1-8b-instant # Tool Integrations (Optional) GITHUB_TOKEN=your_github_token SLACK_TOKEN=your_slack_token JIRA_HOST=https://your-domain.atlassian.net JIRA_USERNAME=your_email@example.com JIRA_API_TOKEN=your_jira_api_token
-
Build and start the Docker containers:
docker-compose up -d
-
Access the web interface at:
http://localhost:3000
Manual Setup
Backend
-
Navigate to the backend directory:
cd AgentDock/backend
-
Install dependencies:
npm install
-
Create a
.env
file with the same content as in the Docker installation. -
Build and start the server:
npm run build npm start
Frontend
-
Open a new terminal and navigate to the frontend directory:
cd AgentDock/frontend
-
Install dependencies:
npm install
-
Start the development server:
npm start
-
Access the web interface at:
http://localhost:3000
Usage
Managing Agents
- Navigate to the "Agents" page.
- Click "Add Agent" to create a new agent.
- Provide a name, description, and select the tools the agent can use.
- Toggle the "Enabled" switch to activate the agent.
Tool Integrations
- Navigate to the "Tools" page.
- Select the integration tab (GitHub, Slack, or Jira).
- Configure API credentials for each integration.
- Save settings to enable the integration.
Interacting with Agents
- Navigate to the "Chat" page.
- Select an agent from the dropdown or use the general chat.
- Type your query and press Enter or click the send button.
- View the agent's response in the chat window.
Monitoring Activity
- Navigate to the "Logs" page to view query history and system logs.
- Use filters to search for specific information.
- View detailed logs for troubleshooting.
Development
Project Structure
backend/src/server/
: MCP server implementationbackend/src/agents/
: Agent management logicbackend/src/tools/
: Tool integration implementationsbackend/src/api/
: REST API endpointsfrontend/src/components/
: React componentsfrontend/src/pages/
: Page componentsfrontend/src/services/
: API service clientsfrontend/src/context/
: React context providers
Adding a New Tool Integration
- Create a new file in
backend/src/tools/
for your integration. - Implement the required functions using the MCP SDK.
- Register your tool in
backend/src/server/mcpServer.ts
. - Update the frontend to include UI elements for your tool.
Adding a New Agent Type
- Define the agent capabilities in
backend/src/agents/
. - Update the agent registration logic in the API.
- Add UI components to support the new agent type.
Docker Configuration
The project includes a docker-compose.yml
file that sets up the following containers:
agentdock-backend
: Node.js server for the backendagentdock-frontend
: React application for the frontend
Both containers are configured to restart automatically and share the necessary environment variables.
Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature-name
- Commit your changes:
git commit -m 'Add some feature'
- Push to the branch:
git push origin feature/your-feature-name
- Submit a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details.