{"name":"io.github.Mr-Macharia/mpesa-daraja-mcp","slug":"mr-macharia-mpesa-daraja-mcp","title":"M-Pesa Daraja","description":"Safaricom M-Pesa Daraja tools: STK Push, C2B, B2C, B2B, QR, Ratiba. Sandbox-first, idempotent.","url":"https://mcp.market/server/mr-macharia-mpesa-daraja-mcp","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":36,"stars":4,"forks":3,"downloads_week":577,"last_push_at":"2026-10-24T21:46:10.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"pypi","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/Mr-Macharia/mpesa-daraja-skills-and-mcp","website":null,"version":"0.1.6","remotes":[],"packages":[{"registryType":"pypi","identifier":"mpesa-daraja-mcp","version":"0.1.6","runtimeHint":"uvx","transport":{"type":"stdio"},"environmentVariables":[{"description":"Daraja app Consumer Key","isRequired":true,"isSecret":true,"name":"DARAJA_CONSUMER_KEY"},{"description":"Daraja app Consumer Secret","isRequired":true,"isSecret":true,"name":"DARAJA_CONSUMER_SECRET"},{"description":"sandbox (default) or production","name":"DARAJA_ENV"},{"description":"Paybill / store number (174379 in sandbox)","name":"DARAJA_SHORTCODE"},{"description":"M-Pesa Express passkey (STK Push)","isSecret":true,"name":"DARAJA_PASSKEY"},{"description":"API operator username (B2C, B2B, status, balance, reversal)","name":"DARAJA_INITIATOR_NAME"},{"description":"Encrypted initiator password","isSecret":true,"name":"DARAJA_SECURITY_CREDENTIAL"},{"description":"Public HTTPS base for callback URLs","name":"DARAJA_CALLBACK_BASE_URL"},{"description":"host:port for the built-in callback receiver","name":"DARAJA_CALLBACK_LISTEN"},{"description":"16+ random characters; secret path for callbacks","isSecret":true,"name":"DARAJA_CALLBACK_TOKEN"},{"description":"Comma list: stk,c2b,payouts,ops,qr,ratiba,billmanager","name":"DARAJA_TOOLSETS"},{"description":"true hides every tool that moves money or writes","name":"DARAJA_READ_ONLY"},{"description":"Payouts above this many shillings need approval in the chat","name":"DARAJA_APPROVAL_THRESHOLD"},{"description":"Comma list of phones/shortcodes that payouts may go to","name":"DARAJA_ALLOWED_RECIPIENTS"},{"description":"true to allow production charges and payouts","name":"DARAJA_ALLOW_LIVE_MONEY_MOVEMENT"},{"description":"Initiator password, encrypted into SecurityCredential at startup (alternative to DARAJA_SECURITY_CREDENTIAL)","isSecret":true,"name":"DARAJA_INITIATOR_PASSWORD"},{"description":"Path to Safaricom's public certificate, used with DARAJA_INITIATOR_PASSWORD","name":"DARAJA_CERT_PATH"},{"description":"Path of the SQLite file that stores request state and callbacks","name":"DARAJA_STATE_DB"},{"description":"Directory where generated QR PNGs are saved","name":"DARAJA_OUTPUT_DIR"},{"description":"Directory holding the saved config (default: user config dir)","name":"DARAJA_CONFIG_DIR"},{"description":"Path of a .env file to load instead of the project one","name":"DARAJA_DOTENV"},{"description":"Bearer token for HTTP mode (32+ random characters)","isSecret":true,"name":"DARAJA_MCP_TOKEN"},{"description":"HTTP mode bind address (default 127.0.0.1)","name":"DARAJA_MCP_HOST"},{"description":"HTTP mode port (default 8000)","name":"DARAJA_MCP_PORT"},{"description":"Your app's URL: every callback is POSTed on to it, HMAC-signed","name":"DARAJA_FORWARD_URL"},{"description":"HMAC secret for forwarded callbacks (16+ characters)","isSecret":true,"name":"DARAJA_FORWARD_SECRET"}]}],"tools":[],"scan":null,"grade_history":[],"reviews":[]}