{"name":"io.github.rafavecchi/grantd","slug":"rafavecchi-grantd","title":null,"description":"Grantd MCP server: let your AI agent act on a user's behalf across third-party APIs via OAuth.","url":"https://mcp.market/server/rafavecchi-grantd","rating":null,"grade":"C","score":65,"certified":false,"status":"active","category":"ai","tags":["ai"],"presence":{"score":17,"stars":1,"forks":0,"downloads_week":33,"last_push_at":"2026-06-09T21:46:35.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/rafavecchi/grantd","website":null,"version":"0.1.0","remotes":[],"packages":[{"registryType":"npm","identifier":"grantd-mcp","version":"0.1.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"A Grantd secret key (sk_...). Treat it like a password.","isRequired":true,"format":"string","isSecret":true,"name":"GRANTD_API_KEY"},{"description":"Base URL of your Grantd broker (default http://localhost:8787).","format":"string","name":"GRANTD_BASE_URL"},{"description":"Default end-user id so tools don't need it passed each call.","format":"string","name":"GRANTD_END_USER"}]}],"tools":[{"name":"call_provider","description":"Make an authorized API call to a provider on behalf of an end-user. The user's OAuth token is injected server-side and never exposed to you. If the user isn't connected, returns an authorization_required result with a connect link \\u2014 share it with the user, then retry.","write_action":false,"price_micros":0,"input_schema":null},{"name":"check_connection","description":"Check whether an end-user has an active connection to a provider. If not, returns a connect_url to share with them.","write_action":false,"price_micros":0,"input_schema":null},{"name":"create_connect_link","description":"Create an authorization URL an end-user visits to connect a provider account.","write_action":true,"price_micros":0,"input_schema":null},{"name":"list_providers","description":"List the third-party providers Grantd can connect on a user's behalf (e.g. google, github).","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":65,"grade":"C","scanned_at":"2026-09-27T05:32:10.146Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T05:32:10.126Z","components":{"code":{"score":20,"max":25,"notes":["2 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":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":8,"max":15,"notes":["last push 109 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"exec.eval","severity":"medium","component":"code","title":"eval / new Function used","evidence":"dist/index.cjs: …ode, sch); const makeValidate = new Function(`${names_1.default.self}`, `${names_1.de…"}],"inputs":{"packages":[{"registryType":"npm","identifier":"grantd-mcp","version":"0.1.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":0,"publishedAt":"2026-06-09T21:59:54.761Z","repositoryUrl":"git+https://github.com/rafavecchi/grantd.git","weeklyDownloads":33}],"repo":{"found":true,"owner":"rafavecchi","repo":"grantd","archived":false,"pushedAt":"2026-06-09T21:46:35Z","stars":1,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/80125235?v=4","ownerCreatedAt":"2021-03-05T19:02:55Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":1,"forks":0,"downloadsWeek":33,"license":"MIT","lastPushAt":"2026-06-09T21:46:35.000Z","score":17}}}},"grade_history":[],"reviews":[]}