PROJECTS
What I build, and where it lives.
The open-source projects I author and maintain — MCP servers and developer tooling in Go, acoustics and signal-processing libraries, network security and infrastructure scripts. Every entry links to its source and its documentation, and the hosted MCP servers also link to a running instance you can call.
Download figures combine GitHub release artifacts, Docker Hub image pulls, NuGet installs and MATLAB File Exchange downloads. NuGet counts only the package a reader installs: each install also fetches one runtime package, and counting both would count it twice. Checksum, signature and SBOM files are not counted: a release publishes them next to the binary and every install fetches both, so counting them would report the same install twice. The File Exchange figures are read by hand (August 27, 2026) because MathWorks refuses scripted requests, and a project shows its own figure only once it passes 1,000, so the per-project numbers below do not add up to the site-wide total. Counting every project and channel, the site-wide total is 162,555 downloads as of October 15, 2026. The exact rule, and the full list of channels counted and skipped: download-sources.mjs.
Recent GitHub activity
- releases shipped in 90 days
- 91
- new stars in 30 days
- +36
- days with contributions in 12 months
- 298
- current streak, in days
- 110
Live from GitHub · updated 2026-10-15 15:53 UTC+2
// MAINTAINED
Actively developed. These get releases, issue triage and documentation.
GitLab MCP Server
gitlab-mcp-server
Model Context Protocol server that exposes more than 850 GitLab operations as AI-accessible tools on a Free or self-managed instance, and over 1,000 on Ultimate.
- Stars
- 45 +10 in 30 d
- Version
- v3.2.0 · 5 days ago
- Activity
- 100 days in 12 months
- Community
- 3 issues from 3 people · 6 PRs from 4 people
- Model Context Protocol
- GitLab
- Go
- DevOps
Source Docs npm PyPI NuGet Live instance Read the series
Where GitLab MCP Server is listed
- npm npmjs.com shown on the card
- NuGet nuget.org shown on the card
- PyPI pypi.org shown on the card
- Cursor Directory cursor.directory
- deps.dev
- Docker Hub hub.docker.com
- DOI doi.org
- enterprisedna.co
- GitHub github.com
- Glama glama.ai
- HVTracker hvtracker.net
- libraries.io
- LobeHub lobehub.com
- MCP Servers mcpservers.org
- MCP Toplist mcptoplist.com
- MCP Vault mcpvault.io
- mcp.so
- MCPBeat mcpbeat.com
- mcpmarket.com
- PickMCP pickmcp.com
- pkg.go.dev
- PulseMCP pulsemcp.com
- smithery.ai
- WinGet github.com
phonometry
Acoustic measurement, analysis and prediction for Python: sound level metrology, psychoacoustics, room and building acoustics, materials, vibration, environmental and transport noise, underwater acoustics, electroacoustics and wave simulation, with 1893 CI-enforced conformance checks across 111 domains and 523 standards.
- Stars
- 125 +11 in 30 d
- Version
- v3.3.0 · 80 days ago
- Activity
- 95 days in 12 months
- Community
- 17 issues from 15 people · 3 PRs from 2 people
- Acoustics
- Signal processing
- Sound level meter
- Octave band
- Python
Where phonometry is listed
cs-routeros-bouncer
CrowdSec bouncer for MikroTik RouterOS: automatic firewall management via the RouterOS API
- Stars
- 17 +3 in 30 d
- Version
- v1.9.0 · 7 days ago
- Activity
- 38 days in 12 months
- Community
- 7 issues from 6 people
- Network security
- RouterOS
- Firewall
- Intrusion detection system
- Go
mikroscope
Sub-second kernel telemetry from inside a MikroTik router, with the cost of the observer measured rather than claimed.
- Stars
- 2 +2 in 30 d
- Version
- v1.6.1 · 9 days ago
- Activity
- 12 days in 12 months
- RouterOS
- MikroTik
- Telemetry
- Linux kernel
- Go
Cloudflare DNS Updater
Cloudflare-DNS-Updater
Bash-based dynamic DNS updater that keeps Cloudflare A and AAAA records pointed at your current public IP.
- Stars
- 28 +1 in 30 d
- Version
- v1.3.0 · 82 days ago
- Activity
- 23 days in 12 months
- Community
- 7 issues from 7 people · 3 PRs from 3 people
- Dynamic DNS
- Cloudflare
- GNU Bash
- IPv6
libgen-mcp
MCP server for federated search, citation and reading of books, research papers, comics, magazines and standards across the Library Genesis catalog and open-access sources. No account required.
- Stars
- 19 +8 in 30 d
- Version
- v2.2.1 · 9 days ago
- Activity
- 48 days in 12 months
- Community
- 2 issues from 2 people · 2 PRs from 2 people
- Model Context Protocol
- Library Genesis
- Digital library
- Open access
- Go
Source Docs npm Glama NuGet Live instance
Where libgen-mcp is listed
- Glama glama.ai shown on the card
- npm npmjs.com shown on the card
- NuGet nuget.org shown on the card
- Cursor Directory cursor.directory
- deepwiki.com
- Docker Hub hub.docker.com
- GitHub github.com
- LobeHub lobehub.com
- MCP Toplist mcptoplist.com
- MCP Vault mcpvault.io
- mcp.so
- MCPBeat mcpbeat.com
- PickMCP pickmcp.com
- pkg.go.dev
- PyPI pypi.org
- smithery.ai
ghchronicle
Collects every metric GitHub exposes about an account and keeps it with the date it happened.
- Stars
- 0 +0 in 30 d
- Version
- v2.6.5 · 15 days ago
- Activity
- 14 days in 12 months
- GitHub
- Time series
- InfluxDB
- Grafana
- Go
Source Docs GitHub Container Registry Docker Hub GitHub Marketplace
Where ghchronicle is listed
TFG-TFM_EPS
LaTeX template for Bachelor's and Master's theses at the University of Alicante (EPS), with an automated CI build pipeline.
- Stars
- 84 +1 in 30 d
- Version
- v2.3.0 · 12 days ago
- Community
- 3 issues from 3 people · 3 PRs from 2 people
- LaTeX
- Thesis
- University of Alicante
portainer-mcp
MCP server for Portainer: 1:1 coverage of the Portainer REST API across dynamic, meta and individual tool surfaces.
- Stars
- 0 +0 in 30 d
- Version
- — · —
- Activity
- 18 days in 12 months
- Model Context Protocol
- Portainer
- Docker
- REST
- Go
UPSTREAM
Contributions to other projects
Code and documentation I wrote for projects I do not maintain, plus the packaging that puts my own tools in public registries.
- code & docs PRs and MRs merged
- 134
- upstream projects
- 40
- code PRs and MRs under review
- 69
- accepted answers in GitHub Discussions
- 21
+ 14 packaging and listing PRs merged
Contributed to
- GitHub: acme.sh
- GitHub: Trilium Notes
- GitHub: Nginx Proxy Manager NPM
- GitHub: Podman
- GitHub: Beszel
- GitHub: Renovate
and 33 more · list as of October 15, 2026
Live from GitHub via ghchronicle and from GitLab · updated 2026-10-15 15:53 UTC+2
All contributions, by project →ENGINEERING
How I maintain the projects
| Project | CI on | CI jobs | Main pass rate, 90 d | CodeQL |
|---|---|---|---|---|
| GitLab MCP Server | Linux, macOS, Windows | 25 | 97.1% | Go, JS/TS |
| phonometry | Linux, macOS, Windows | 43 | 93.0% | JS/TS, Python |
| cs-routeros-bouncer | Linux | 13 | 96.6% | Go, JS/TS |
| mikroscope | Linux, macOS, Windows | 31 | 96.4% | Go, JS/TS |
| Cloudflare DNS Updater | Linux | 1 | 81.8% | C/C++ |
| libgen-mcp | Linux, macOS, Windows | 21 | 97.3% | Go, JS/TS |
| ghchronicle | Linux, macOS, Windows | 22 | 98.0% | Go, JS/TS |
| portainer-mcp | Linux | 14 | 95.1% | no data |
97 Dependabot alerts fixed across 4 maintained repositories, median about 5 days to fix. None open today.
// ARCHIVED
No longer maintained, kept public and read-only. Mostly research and instrumentation work from the acoustics years.
A-Lab
Matlab-based software for measuring acoustic parameters and experiments.
- Acoustics
- Acoustic impedance
- MATLAB
mastodon_official_profiles
List of official profiles on Mastodon.
- Mastodon
- Fediverse
- Python
SetFigPaper
Function to modify the style of the graphical representations of MATLAB.
- Data visualization
- MATLAB
LoVE-BASS
Loudspeakers for Vented Enclosures: a Backwards Approach for Speaker Selection. MATLAB (App Designer).
- Loudspeaker
- Loudspeaker enclosure
- Acoustics
FDTDexamples
Simple and complex FDTD aeroacoustics models for MATLAB 2019b or newer.
- Finite-difference time-domain method
- Aeroacoustics
- MATLAB
CATT2Matlab
Application to handle the information generated by CATT-Acoustic 8.
- Acoustics
- Reverberation
- MATLAB
FFT2octave
Filter FFT data to octave-band and fractional octave-band.
- Signal processing
- Fast Fourier transform
- Octave band
- MATLAB
getANSIfrequencies
Matlab function to obtain the array of frequencies in octave bands or fractional octave bands.
- Octave band
- Acoustics
- MATLAB
dBFA2Matlab
Plots the time-history data exported from dBFA and computes the corrected revised theory.
- Acoustics
- Sound level meter
- MATLAB
MATLAB_Instruments
Laboratory instruments control with MATLAB.
- Measuring instrument
- IEEE-488
- Data acquisition
- MATLAB
picoScopeMATLAB
Library for working with the PicoScope 5000 series (and possibly other models) in MATLAB.
- Oscilloscope
- Data acquisition
- Measuring instrument
- MATLAB
Support
These projects are maintained in my own time, on hardware that runs at home. If one of them saves you an afternoon, you can sponsor the work on GitHub. Nothing here sits behind a paywall either way, and nothing here tracks you.
Frequently asked questions
How are the download figures on this page counted?
The figures combine GitHub release artifacts, Docker Hub image pulls, NuGet installs of the meta package and MATLAB File Exchange downloads. Checksum, signature and SBOM files are excluded because every install fetches them next to the binary, and a project shows its own figure only once it passes 1,000.
Which of these projects can be used without installing anything?
The MCP servers: gitlab-mcp-server at https://mcp.jmrp.io/gitlab and libgen-mcp at https://mcp.jmrp.io/libgen are public endpoints any MCP client can point at.
Where are the MCP servers published?
gitlab-mcp-server on npm (@jmrp.io/gitlab-mcp-server), PyPI (jmrplens-gitlab-mcp-server), NuGet (gitlab-mcp-server), Docker Hub, WinGet and the official MCP Registry; libgen-mcp on npm (@jmrp.io/libgen-mcp), PyPI (libgen-mcp), NuGet (libgen-mcp), Docker Hub and the MCP Registry.