This is a Java-based Model Context Protocol (MCP) server that integrates with the Unsplash API to provide photo search and listing capabilities.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"unsplash": {
"url": "http://localhost:3001/sse",
"note": "This MCP server integrates with the Unsplash API. To use it with SSE transport, add this URL directly to the client configuration.",
"type": "sse"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
This is a Java-based Model Context Protocol (MCP) server that integrates with the Unsplash API to provide photo search and listing capabilities.
No automated test available for this server. Check the GitHub README for setup instructions.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
No package registry to scan.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in design / search
Web and local search using Brave Search API
Production ready MCP server with real-time search, extract, map & crawl.
MCP server for accessing Figma plugin console logs and screenshots via Cloudflare Workers or local mode
mini cli search engine for your docs, knowledge bases, meeting notes, whatever. Tracking current sota approaches while being all local
MCP Security Weekly
Get CVE alerts and security updates for Unsplash Java MCP Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
This is a Java-based Model Context Protocol (MCP) server that integrates with the Unsplash API to provide photo search and listing capabilities.
[!NOTE]
This project currently provides an initial implementation and does not yet cover the full feature set of the Unsplash API. Additional functionality will be added incrementally over time as new pull requests and feature requests are submitted.
Special thanks to Unsplash for providing the amazing high-quality photos and API used by this project.
searchPhotos: Search for photos on Unsplash by query.listPhotos: List photos on Unsplash.For a more detailed overview of the system design and use cases, see the Architecture Documentation.
Follow these steps to quickly get the Unsplash Java MCP Server up and running.
# Clone the project
git clone https://github.com/h2nguyen/Unsplash-Java-MCP-Server.git
cd Unsplash-Java-MCP-Server
# Create a .env file and add your Unsplash Access Key
echo "UNSPLASH_ACCESS_KEY=your_access_key_here" > .env
The recommended way to run the server for demonstration and testing is using Docker Compose. This starts both the MCP Server and the MCP Inspector.
[!NOTE]
The following commands work on Linux and macOS
# Build and run the application
docker compose up -d --build
# Stop the application
docker compose down
SSE.http://localhost:3001/sse.Direct.searchPhotos and listPhotos.http://mcp-server:8080/sse. From your host machine, use http://localhost:3001/sse.docker-compose logs -f.To use this server with MCP-compatible clients like Claude Desktop, use the following configuration.
Since this server is built using Spring Boot WebMVC, it uses the SSE (Server-Sent Events) transport. Ensure the server is running (e.g., via Docker Compose or ./gradlew bootRun) before connecting.
{
"mcpServers": {
"unsplash": {
"type": "sse",
"url": "http://localhost:3001/sse",
"note": "This MCP server integrates with the Unsplash API. To use it with SSE transport, add this URL directly to the client configuration."
}
}
}
[!CAUTION] If you are running the server locally without Docker Compose, the default port is
8080, so the URL would behttp://localhost:8080/sse.
If you prefer to run the server as a standalone Docker container, you can still connect via SSE.
Build the image:
docker build -t unsplash-java-mcp-server .
Run the container:
docker run -d -p 8080:8080 -e UNSPLASH_ACCESS_KEY=your_access_key_here unsplash-java-mcp-server
Configure Client:
Use the SSE URL http://localhost:8080/sse in your mcp.json.
To run the server locally without Docker:
export UNSPLASH_ACCESS_KEY=your_access_key_here