Eclipse Leshan™ is an OMA Lightweight M2M server and client Java implementation.
What is OMA LWM2M ?
LWM2M Specifications.
Leshan provides libraries which help people to develop their own Lightweight M2M server and client.
The project also provides a client, a server and a bootstrap server demonstration as an example of the Leshan API and for testing purpose.
| LWM2M Version
Targeted | Leshan
Version | Minimal
Java Version | Development
State | Build Status | Standalone
Demos | | - | - | - | - | - | - | | v1.0.x | v1.x
Supported features | Java 7 (more details) | stable released | jenkins-1.x | server-demo
bsserver-demo | | v1.1.x| v2.x (master)
Supported features | Java 8 (more details) | in development |jenkins-master | server-demo
Release (stable and milestones) are available on maven central.
Nightly build (snapshot) are available on eclipse repo. (more details)
The Leshan Documentation is available in our wiki :blue_book:.
If you have any questions, feedback or bugs to report, please use github issue.
For vulnerabilities, have a look at our Security Policy.
If you want to contribute, take a look at our Contribution Guide.
We also have a mail list but it is not so much used :
Join the project mailing list : subscribe.
Mail address: leshan-dev@eclipse.org.
Access to leshan-dev archives.
This work is dual-licensed under the Eclipse Public License v2.0 and Eclipse Distribution License v1.0
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
You can try live our servers demos instances:
(Automatic deployment of master branch)

Get and run the last binary of our demo server :
wget https://ci.eclipse.org/leshan/job/leshan-ci/job/master/lastSuccessfulBuild/artifact/leshan-demo-server.jar
java -jar ./leshan-demo-server.jar
Get and run the last binary of our demo client :
wget https://ci.eclipse.org/leshan/job/leshan-ci/job/master/lastSuccessfulBuild/artifact/leshan-demo-client.jar
java -jar ./leshan-demo-client.jar
Get and run the last binary of our bootstrap demo server :
wget https://ci.eclipse.org/leshan/job/leshan-ci/job/master/lastSuccessfulBuild/artifact/leshan-demo-bsserver.jar
java -jar ./leshan-demo-bsserver.jar
:information_source: : All the demos have a --help option.
Get sources :
#using ssh
git clone git@github.com:eclipse/leshan.git
or
#using https
git clone https://github.com/eclipse/leshan.git
Compile it, by running in leshan root folder :
mvn clean install
Run demo server:
java -jar leshan-demo-server/target/leshan-demo-server-*-SNAPSHOT-jar-with-dependencies.jar
Connect on Leshan demo UI: http://localhost:8080
Leshan server Demo provides a very simple UI to get the list of connected clients and interact with clients resources.
Now you can register a LWM2M client by running our client demo:
java -jar leshan-demo-client/target/leshan-demo-client-*-SNAPSHOT-jar-with-dependencies.jar
or trying the Eclipse Wakaama test client.
You can also try our bootstrap demo server:
java -jar leshan-demo-bsserver/target/leshan-demo-bsserver-*-SNAPSHOT-jar-with-dependencies.jar
Now you played a bit with our demo, you should start to code your own server or client using our Getting-started guide.
$ claude mcp add leshan \
-- python -m otcore.mcp_server <graph>