gawamango is the local MongoDB proxy server I implemented with the help of Cursor.

I developed this simply to gain a more intuitive understanding of what MongoDB’s Wire Protocol looks like.

Its usage is very simple (based on version v0.3.6):

1
2
3
4
go install github.com/ringsaturn/gawamango/cmd/gawamango@latest

# Run locally
OTEL_TRACES_EXPORTER=stdout gawamango -listen localhost:27018 -target localhost:27017

Then you can directly target the proxy server’s port:

1
2
3
4
5
from pymongo import MongoClient

client = MongoClient("mongodb://localhost:27018/")

client.foo.bar.insert_one({"name": "John"})

This project is still very simple. If time and energy permit, and I remain interested in MongoDB’s protocol and BSON structure, I may continue to improve it. I aim to implement a fully functional MongoDB proxy server without using any official MongoDB libraries.