{"name":"io.github.datacharter/datacharter","slug":"datacharter","title":"DataCharter","description":"Local-first, contract-governed data explorer with read-only, PII-masked query tools for AI agents.","url":"https://mcp.market/server/datacharter","rating":null,"grade":"C","score":57,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":39,"stars":12,"forks":1,"downloads_week":503,"last_push_at":"2026-09-16T03:55:45.000Z","license":"Apache-2.0"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/datacharter/datacharter","website":null,"version":"0.44.0","remotes":[],"packages":[{"registryType":"pypi","registryBaseUrl":"https://pypi.org","identifier":"datacharter","version":"0.44.0","runtimeHint":"uvx","transport":{"type":"stdio"},"packageArguments":[{"value":"mcp","type":"positional"},{"description":"Path to the DataCharter workspace directory containing charter.yaml","isRequired":true,"type":"positional","valueHint":"workspace"}]}],"tools":[],"scan":{"score":57,"grade":"C","scanned_at":"2026-09-19T19:48:10.731Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T19:48:10.663Z","components":{"code":{"score":3,"max":25,"notes":["274 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":12,"max":15,"notes":["local package, no credentials required"]},"maintenance":{"score":15,"max":15,"notes":["last push 4 days ago"]},"identity":{"score":7,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[{"id":"env.dump","severity":"high","component":"code","title":"Whole environment serialized (possible credential exfil)","evidence":"datacharter-0.44.0/src/datacharter/agent/claude_code.py: …, ] def _env() -> dict: env = dict(os.environ) env.pop(\"ANTHROPIC_API_KEY\", None) …"},{"id":"net.raw-ip","severity":"medium","component":"code","title":"Network call to a raw IP address","evidence":"datacharter-0.44.0/src/datacharter/cli.py: … return demo_ws LOCAL_BASE_URL = \"http://127.0.0.1:11434/v1\" LOCAL_DEFAULT_MODEL = \"qwen3:8b\" d…"},{"id":"exec.eval","severity":"medium","component":"code","title":"eval / new Function used","evidence":"datacharter-0.44.0/src/datacharter/server/static/assets/index-D7GT8bAk.js: …oC=34,vp=10,lC=13;function aj(e){return new Function(\"d\",\"return {\"+e.map(function(t,n){retur…"}],"inputs":{"packages":[{"registryType":"pypi","identifier":"datacharter","version":"0.44.0","found":true,"weeklyDownloads":503,"license":"Apache-2.0","dependencyCount":19,"publishedAt":"2026-09-15T23:29:27.956219Z","repositoryUrl":"https://github.com/datacharter/datacharter"}],"repo":{"found":true,"owner":"datacharter","repo":"datacharter","archived":false,"pushedAt":"2026-09-16T03:55:45Z","stars":12,"forks":1,"openIssues":11,"ownerType":"Organization","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/308192614?v=4","ownerCreatedAt":"2026-07-23T00:56:23Z","license":"Apache-2.0"},"icon":{"url":"https://avatars.githubusercontent.com/u/308192614?v=4&s=128","source":"registry"},"presence":{"stars":12,"forks":1,"downloadsWeek":503,"license":"Apache-2.0","lastPushAt":"2026-09-16T03:55:45.000Z","score":39}}}},"grade_history":[],"reviews":[]}