LABSCO SUMMARY
One job, and a readable Java reference implementation alongside it.
As a tool it does exactly one thing — find photographs — which is enough when the alternative is leaving the editor. Its second use is as source material: the launch flags that suppress the web server and the console log pattern are the non-obvious part of running a Spring AI server over stdio, and they are all here.
What it is
A Java implementation of an Unsplash search server, built on Spring AI's MCP support and shipped as a runnable jar. The repository doubles as a worked example of writing an MCP server in Java.
What you get
- Photo search against Unsplash, driven from the conversation
- Results usable in place — ask for two house photographs and write them into the document you are drafting
- A complete Spring AI stdio server to read if you are building one of your own in Java
Requirements
A JDK and Maven to build (mvn clean package), then launch with java -jar against target/unsplash-mcp-server-1.0.jar, passing -Dspring.ai.mcp.server.stdio=true and -Dspring.main.web-application-type=none. An Unsplash access key from an application you create in the Unsplash developer portal goes in UNSPLASH_ACCESS_KEY.
Setup effort
Build from source — clone the repository, then point your client at the binary
USE CASES
01
Illustrating something you are writing
Search for the shot you need and place the result in the document without switching to a browser.
02
Building a Java MCP server
Read a complete Spring AI stdio server, including the launch flags that keep it quiet enough to speak the protocol.
BEFORE YOU INSTALL
What to know first
Requires
- java on PATH
- UNSPLASH_ACCESS_KEY in your environment
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
Configuration file
JSON
{
"mcpServers": {
"unsplash": {
"command": "java",
"args": [
"-Dspring.ai.mcp.server.stdio=true",
"-Dspring.main.web-application-type=none",
"-Dlogging.pattern.console=",
"-jar",
"<YOUR_ABSOLUTE_PATH>/target/unsplash-mcp-server-1.0.jar"
],
"env": {
"UNSPLASH_ACCESS_KEY": "<YOUR_UNSPLASH_ACCESS_KEY>"
}
}
}
}The command line the project publishes
TERMINAL
java -Dspring.ai.mcp.server.stdio=true -Dspring.main.web-application-type=none -Dlogging.pattern.console= -jar <YOUR_ABSOLUTE_PATH>/target/unsplash-mcp-server-1.0.jar