{"name":"com.planifyapps/planify","slug":"planifyapps-planify","title":"Planify","description":"Schedule and publish social posts to Twitter, Instagram, LinkedIn, Pinterest, Bluesky and more.","url":"https://mcp.market/server/planifyapps-planify","rating":null,"grade":"C","score":58,"certified":false,"status":"active","category":"sales","tags":["sales"],"presence":{"score":11,"stars":null,"forks":null,"downloads_week":48,"last_push_at":null,"license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/gsrathoreniks/planifyWeb","website":"https://planifyapps.com","version":"0.4.0","remotes":[],"packages":[{"registryType":"npm","identifier":"@planifyapps/mcp","version":"0.4.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Planify API key, created under Settings → API in the dashboard. Shown once.","isRequired":true,"format":"string","isSecret":true,"name":"PLANIFY_API_KEY"},{"description":"Override the API base URL. Only needed for staging or self-hosted.","format":"string","default":"https://planifyapps.com/api/v1","name":"PLANIFY_API_URL"}]}],"tools":[{"name":"planify_channel_settings","description":"Read this before writing a post. Returns, for one specific channel: the character limit, how much","write_action":false,"price_micros":0,"input_schema":null},{"name":"planify_channel_trigger","description":"Fetches values that cannot be guessed — Pinterest boards, Twitter communities. Which lookups exist","write_action":false,"price_micros":0,"input_schema":null},{"name":"planify_create_post","description":"Creates a post. Defaults to a draft.","write_action":true,"price_micros":0,"input_schema":null},{"name":"planify_delete_post","description":"Removes a draft or scheduled post so it will not go out.","write_action":true,"price_micros":0,"input_schema":null},{"name":"planify_get_post","description":"One post in full: content, attachments with their alt text, platform settings, and what happened when","write_action":true,"price_micros":0,"input_schema":null},{"name":"planify_get_schedule","description":"The weekly slots and the timezone they are written in. Returns schedule: null when the channel has","write_action":false,"price_micros":0,"input_schema":null},{"name":"planify_list_channels","description":"Connected social accounts, with the channel id needed by every other tool. Channels the plan does","write_action":false,"price_micros":0,"input_schema":null},{"name":"planify_list_media","description":"Media already in this account, newest first — including files uploaded through the Planify web app,","write_action":false,"price_micros":0,"input_schema":null},{"name":"planify_list_posts","description":"Posts in this account — drafts, scheduled, and published — newest scheduled first. Call this before","write_action":true,"price_micros":0,"input_schema":null},{"name":"planify_me","description":"The plan, the permissions this API key holds, and quota remaining. Call this first if a later call","write_action":false,"price_micros":0,"input_schema":null},{"name":"planify_next_slot","description":"The next free time from the weekly posting schedule the user already set, skipping slots already","write_action":false,"price_micros":0,"input_schema":null},{"name":"planify_publish_post","description":"Publishes a post that already exists — the approval half of \"let the agent draft it and I will","write_action":true,"price_micros":0,"input_schema":null},{"name":"planify_set_schedule","description":"Sets the weekly grid planify_next_slot draws from. Replaces the whole schedule, so send every slot","write_action":false,"price_micros":0,"input_schema":null},{"name":"planify_update_post","description":"Changes a post that has not published yet. Send only the fields to change.","write_action":true,"price_micros":0,"input_schema":null},{"name":"planify_upload_media","description":"Uploads local files and returns media_urls to pass to planify_create_post. Use this for anything","write_action":true,"price_micros":0,"input_schema":null},{"name":"planify_upload_media_from_url","description":"Planify downloads the file and returns media_urls to pass to planify_create_post. Use this when the","write_action":true,"price_micros":0,"input_schema":null},{"name":"planify_validate_post","description":"Takes the same arguments as planify_create_post and reports whether they would be accepted. Creates","write_action":true,"price_micros":0,"input_schema":null}],"scan":{"score":58,"grade":"C","scanned_at":"2026-09-21T13:04:23.056Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-21T13:04:23.001Z","components":{"code":{"score":25,"max":25,"notes":["3 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":3,"max":15,"notes":["repository not readable: repo not found"]},"identity":{"score":4,"max":10,"notes":["verified namespace with website, no repo"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"@planifyapps/mcp","version":"0.4.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-08-25T06:45:36.352Z","repositoryUrl":"git+https://github.com/gsrathoreniks/planifyWeb.git","weeklyDownloads":48}],"repo":{"found":false,"owner":"gsrathoreniks","repo":"planifyWeb","error":"repo not found"},"icon":{"url":"https://planifyapps.com/logo.svg","source":"registry"},"presence":{"stars":null,"forks":null,"downloadsWeek":48,"license":"MIT","lastPushAt":null,"score":11}}}},"grade_history":[],"reviews":[]}