This project is a microservices-based application that demonstrates various integrations and functionalities through a Model-Controller-Provider (MCP) architecture.
mcp_tutorial/
├── mcp-client/ # Client-side application
├── mcp-server/ # Server-side microservices
│ ├── podcast/ # Podcast service
│ ├── weather/ # Weather service
│ └── filesystem/ # File management service
└── need/ # Additional resources and utilities
- Weather service integration
- File management system
- Podcast generate by Coze api
- (ToDo))Multiple storage backend support:
- Redis
- PostgreSQL
- Memory storage
- Google Drive
- GitHub
- GitLab
- Slack integration
- Modern client interface
- Node.js (v14 or higher)
- npm or yarn
- Redis (optional)
- PostgreSQL (optional)
- Clone the repository:
git clone https://github.com/fak111/mcp_tutorial.git
cd mcp_tutorial- Install dependencies for each service:
# Install client dependencies
cd mcp-client
npm install
# Install server dependencies
cd ../mcp-server
npm install- Configure environment variables:
- Create
.envfiles in respective service directories - Set up necessary API keys and connection strings
- Start the server:
cd mcp-server
# if can node
node ..js- Start the client:
cd mcp-client
# Create virtual environment
uv venv
# Activate virtual environment
# On Windows:
.venv\Scripts\activate
# On Unix or MacOS:
source .venv/bin/activate
# Install required packages
uv add mcp anthropic python-dotenv
#run
uv run client_no_api.py dumy.js
- The project uses TypeScript for type safety
- Each service can be developed and deployed independently
- Follow the microservices architecture pattern
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to all contributors
- Built with modern web technologies and best practices