Created main.py
This commit is contained in:
@@ -0,0 +1,47 @@
|
|||||||
|
from fastmcp import MCP
|
||||||
|
import json, os, time
|
||||||
|
|
||||||
|
# Simple in-memory store with JSON persistence
|
||||||
|
DATA_FILE = "data.json"
|
||||||
|
store = {}
|
||||||
|
if os.path.exists(DATA_FILE):
|
||||||
|
with open(DATA_FILE) as f:
|
||||||
|
store = json.load(f)
|
||||||
|
|
||||||
|
@MCP.tool()
|
||||||
|
def save(key: str, value: str):
|
||||||
|
store[key] = {"value": value, "timestamp": time.time()}
|
||||||
|
with open(DATA_FILE, "w") as f:
|
||||||
|
json.dump(store, f)
|
||||||
|
return f"Saved {key}"
|
||||||
|
|
||||||
|
@MCP.tool()
|
||||||
|
def get(key: str):
|
||||||
|
return store.get(key, {}).get("value", None)
|
||||||
|
|
||||||
|
@MCP.tool()
|
||||||
|
def delete(key: str):
|
||||||
|
if key in store:
|
||||||
|
del store[key]
|
||||||
|
with open(DATA_FILE, "w") as f:
|
||||||
|
json.dump(store, f)
|
||||||
|
return f"Deleted {key}"
|
||||||
|
return f"{key} not found"
|
||||||
|
|
||||||
|
@MCP.tool()
|
||||||
|
def list_keys():
|
||||||
|
return list(store.keys())
|
||||||
|
|
||||||
|
# Namespace helpers
|
||||||
|
@MCP.tool()
|
||||||
|
def save_with_namespace(namespace: str, key: str, value: str):
|
||||||
|
full = f"{namespace}:{key}"
|
||||||
|
return save(full, value)
|
||||||
|
|
||||||
|
@MCP.tool()
|
||||||
|
def get_by_namespace(namespace: str, key: str):
|
||||||
|
full = f"{namespace}:{key}"
|
||||||
|
return get(full)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
MCP.run()
|
||||||
Reference in New Issue
Block a user