---
slug: "javamcpserver4claudedesktop"
source_type: "readme"
source_url: "https://cdn.jsdelivr.net/gh/jiangyan/JavaMcpServer4ClaudeDesktop@master/README.md"
repo: "https://github.com/jiangyan/JavaMcpServer4ClaudeDesktop"
source_file: "README.md"
branch: "master"
---
# TasksMcpServer

A Spring Boot application that provides a task management service using SQLite database. This project demonstrates the integration of Spring Boot with SQLite and JPA for efficient task management.

## Features

- Task management with CRUD operations
- SQLite database integration
- JPA/Hibernate for data persistence
- RESTful API endpoints
- Unit tests with JUnit and Mockito

## Prerequisites

- Java 21 or higher
- Maven 3.6 or higher
- SQLite 3

## Database Schema

The application uses a SQLite database with the following schema:

```sql
CREATE TABLE task (
    id INTEGER PRIMARY KEY,
    name VARCHAR(255),
    category VARCHAR(255),
    status VARCHAR(255)
);
```

## Sample Data

The application comes pre-populated with sample tasks:

- Complete project documentation (Documentation, PENDING)
- Fix login bug (Bug Fix, IN_PROGRESS)
- Add new feature (Development, PENDING)
- Review pull request (Code Review, PENDING)
- Update dependencies (Maintenance, COMPLETED)
- Write unit tests (Testing, IN_PROGRESS)
- Setup CI/CD pipeline (DevOps, PENDING)
- Optimize database queries (Performance, NOT_STARTED)
- Create API documentation (Documentation, PENDING)
- Security audit (Security, NOT_STARTED)

## API Endpoints

1. Find task by name
2. Find tasks by category
3. Create new task (with default status)

## Getting Started

1. Clone the repository:
```bash
git clone https://github.com/yourusername/TasksMcpServer.git
cd TasksMcpServer
```

2. Build the project:
```bash
mvn clean package
```

3. Run the application:
```bash
java -jar target/TasksMcpServer-0.0.1-SNAPSHOT.jar
```

## Project Structure

```
TasksMcpServer/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/example/TasksMcpServer/
│   │   │       ├── model/
│   │   │       │   └── Task.java
│   │   │       ├── repository/
│   │   │       │   └── TaskRepository.java
│   │   │       ├── service/
│   │   │       │   └── TasksMcpServerService.java
│   │   │       └── TasksMcpServerApplication.java
│   │   └── resources/
│   │       ├── application.properties
│   │       └── insert.sql
│   └── test/
│       └── java/
│           └── com/example/TasksMcpServer/
│               └── service/
│                   └── TasksMcpServerServiceTest.java
├── pom.xml
└── README.md
```

## Configuration

The application can be configured through `src/main/resources/application.properties`:

```properties
spring.datasource.url=jdbc:sqlite:tasks.db
spring.datasource.driver-class-name=org.sqlite.JDBC
spring.jpa.database-platform=org.hibernate.community.dialect.SQLiteDialect
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
```

## Testing

Run the tests using Maven:

```bash
mvn test
```

## Dependencies

- Spring Boot 3.4.4
- Spring Data JPA
- SQLite JDBC Driver
- Hibernate Community Dialects
- Spring Boot Test
- JUnit 5
- Mockito

## License

This project is licensed under the MIT License - see the LICENSE file for details.

## Contributing

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request 