diff --git a/README.md b/README.md
index 8f71afeb0c31e1b311ef34c535f9878f287e6fb5..c81631df4207a3d57449d64e22ad0f1a9b4591c8 100644
--- a/README.md
+++ b/README.md
@@ -19,3 +19,9 @@ Reads source metadata files(s). Serves and caches them signed from memory, on re
 
 ## ```mdproxy.py```
 Caches signed and cached ```mdserver.py``` metadata requests
+
+## Queries
+MDQ Queries can then be pointed at
+
+- ```http://mdserver/sign/<entityid>```
+- ```http://mdproxy/cache/<entityid>```
diff --git a/mdproxy.py b/mdproxy.py
index ed35ae225800aea37b332fc9608cb3b8b7bb8a55..6160c8efe629af4cf32e85228ff01fa83d3a80ea 100755
--- a/mdproxy.py
+++ b/mdproxy.py
@@ -13,16 +13,17 @@ cached = {}
 signer = 'http://localhost:5001/sign'
 
 
-@app.route('/cache', methods=['GET'])
-def cache():
+@app.route('/cache/<path:eid>', methods=['GET'])
+def cache(eid):
     global cached
-    entity = unquote(request.args.get('id'))
+    entity = unquote(eid)
+    print(f"entity: {entity}")
     if entity in cached:
         print(f"serve {entity}")
         return cached[entity]
     else:
         print(f"request {entity}")
-        result = requests.get(f"{signer}?id={entity}").text
+        result = requests.get(f"{signer}/{entity}").text
         cached[entity] = result
         return result
 
diff --git a/mdserver.py b/mdserver.py
index 4b145309363637fb1eb28a2b24e1c3594638c4d5..5015ac3221163bcd9b3b323f5f96a617c5656de2 100755
--- a/mdserver.py
+++ b/mdserver.py
@@ -22,10 +22,10 @@ cert = open("meta.crt").read()
 key = open("meta.key").read()
 
 
-@app.route('/sign', methods=['GET'])
-def sign():
+@app.route('/sign/<path:eid>', methods=['GET'])
+def sign(eid):
     global idps, signed, cert
-    entity = unquote(request.args.get('id'))
+    entity = unquote(eid)
     try:
         if entity in signed:
             print(f"serve {entity}")