MikaCLI is a terminal automation toolkit for developers and AI agents that turns websites, LLMs, developer platforms, editors, and utilities into one reusable CLI.
The core idea is simple:
- sign in once
- save the session or token locally
- keep using the provider headlessly from the terminal
- return clean
--jsonoutput for scripts, agents, and orchestration
What makes MikaCLI especially useful is that it does not stop at API tokens. It works across cookies, saved browser sessions, user sessions, bot tokens, local tools, and public services, so the same CLI can drive GitHub, ChatGPT, Jira, Reddit, ffmpeg, DNS lookups, and more without switching tools.
- One command surface across
117providers.
- Shared browser login means less manual cookie exporting for cookie-backed platforms.
- Sessions and tokens stay local, so follow-up commands are short and automation-friendly.
- Category-based routing stays predictable as the tool grows:
mikacli llm ...,mikacli google ...,mikacli social ...,mikacli developer ...,mikacli devops .... - Every provider is designed to be script-friendly, with strong
--jsonsupport. - Provider capability metadata helps agents see auth type, stability, browser support, and read/write boundaries before they guess.
- Shared result normalization adds stable JSON aliases like
data.items,data.entity, anddata.guidance.
MikaCLI can keep a shared browser profile under its own control, let you sign in once, then reuse that browser state for later provider logins.
That means you can:
- log into Google or another identity provider once
- use
Continue with Google, passkeys, or normal web sign-in flows - let later provider logins reuse that same saved browser profile
- avoid re-exporting cookies every time for many cookie-backed providers
Typical flow:
mikacli login --browser
mikacli developer github login --browser
mikacli social x login --browser
mikacli llm qwen login --browserAfter the provider session is saved, normal commands stay headless:
mikacli developer github me --json
mikacli social x post "Shipping from MikaCLI"
mikacli llm qwen text "Summarize this changelog"| Item | Value |
|---|---|
| Package | mikacli |
| CLI command | mikacli |
| Providers | 117 |
| Categories | 16 |
| npm install | npm install -g mikacli |
| bun install | bun install -g mikacli |
| Local setup | bun install |
| Docs sync | bun run sync:docs |
Install globally with npm or Bun:
npm install -g mikacli
bun install -g mikacliValidate the install right away:
mikacli --version
mikacli doctor
mikacli doctor --fixSet up the repo locally with Bun:
bun install
bun run buildBootstrap the shared browser once if you want browser-assisted logins:
mikacli login --browserClear saved state when you want to sign back out:
mikacli logout
mikacli logout x default
mikacli logout --browserTypical commands:
mikacli status
mikacli sessions validate
mikacli sessions repair
mikacli jobs
mikacli logout x default
mikacli search "youtube download"
mikacli llm chatgpt text "Write release notes for MikaCLI"
mikacli developer github login --browser
mikacli developer github me --json
mikacli developer github capabilities --json
mikacli devops cloudflare zones --json
mikacli devops render services --json
mikacli jobs show job-id-example
mikacli google gmail labels --json
mikacli google calendar today --json
mikacli google docs documents --json
mikacli google forms forms --json
mikacli google drive files --json
mikacli google sheets values google-sheet-id-example Sheet1!A1:B5 --json
mikacli tools page-links https://example.com --json
mikacli tools http github inspect --jsonEvery provider help page now includes:
- a generated
Quick Startblock - a
Support Profilewith auth, discovery, mutation, browser, and async support - a
Stability Guideso agents can tell whether a provider isstable,partial, orexperimental
- Sign into real web apps once, then reuse the saved session from the terminal.
- Use the same CLI for LLMs, socials, job search, developer tools, devops platforms, editors, and public utilities.
- Keep auth local to your machine instead of scattering cookies and tokens across one-off scripts.
- Give agents and scripts a stable command model with consistent JSON output.
- Reach protected web surfaces that are awkward to automate with plain APIs alone.
MikaCLI is category-only. Provider commands never live at the root.
mikacli llm ...mikacli editor ...mikacli finance ...mikacli data ...mikacli google ...mikacli maps ...mikacli movie ...mikacli news ...mikacli music ...mikacli social ...mikacli careers ...mikacli shopping ...mikacli developer ...mikacli devops ...mikacli bot ...mikacli tools ...
Examples:
mikacli llm chatgpt text "Write release notes for MikaCLI"
mikacli google gmail labels
mikacli google calendar today
mikacli google docs documents
mikacli google forms forms
mikacli google drive files
mikacli google sheets values google-sheet-id-example Sheet1!A1:B10
mikacli social x post "Shipping MikaCLI today"
mikacli developer confluence search "release process"
mikacli developer github me
mikacli devops vercel projects
mikacli bot telegrambot send 123456789 "Build finished"
mikacli news top "AI"
mikacli tools translate "hello world" --to hi
mikacli tools timezone "Mumbai"
mikacli tools oembed https://www.youtube.com/watch?v=dQw4w9WgXcQ
mikacli tools http github request GET /settings/profile
mikacli tools download info https://www.youtube.com/watch?v=dQw4w9WgXcQ
mikacli tools transcript https://www.youtube.com/watch?v=dQw4w9WgXcQGoogle providers share the same OAuth2 flow. Enable the APIs you need in Google Cloud, create an OAuth client, and register the localhost callback URI:
http://127.0.0.1:3333/callback
Common APIs to enable:
- Gmail API
- Google Calendar API
- Google Docs API
- Google Forms API
- Google Drive API
- Google Sheets API
Typical login flow:
mikacli google gmail login --client-id <id> --client-secret <secret>
mikacli google calendar login --client-id <id> --client-secret <secret>
mikacli google docs login --client-id <id> --client-secret <secret>
mikacli google forms login --client-id <id> --client-secret <secret>
mikacli google drive login --client-id <id> --client-secret <secret>
mikacli google sheets login --client-id <id> --client-secret <secret>Docs examples:
mikacli google docs documents --limit 10 --json
mikacli google docs document google-doc-id-example --json
mikacli google docs content google-doc-id-example --json
mikacli google docs create "Launch Notes" --text "Hello from MikaCLI" --json
mikacli google docs append-text google-doc-id-example "More text from MikaCLI" --json
mikacli google docs replace-text google-doc-id-example --search "draft" --replace "published" --jsonForms examples:
mikacli google forms forms --limit 10 --json
mikacli google forms form google-form-id-example --json
mikacli google forms create "Launch Survey" --description "Tell us what you think" --json
mikacli google forms add-text-question google-form-id-example --title "What should we improve?" --paragraph --required --json
mikacli google forms add-choice-question google-form-id-example --title "How did we do?" --options "Great|Good|Okay|Needs work" --type RADIO --json
mikacli google forms responses google-form-id-example --limit 20 --json
mikacli google forms publish google-form-id-example --published true --accepting-responses true --jsonCalendar examples:
mikacli google calendar calendars --json
mikacli google calendar today --calendar primary --json
mikacli google calendar events --calendar primary --time-min 2026-04-12T00:00:00+05:30 --time-max 2026-04-12T23:59:59+05:30 --json
mikacli google calendar create-event --calendar primary --summary "Launch review" --start 2026-04-12T10:00:00+05:30 --end 2026-04-12T10:30:00+05:30 --json
mikacli google calendar update-event google-event-id-example --calendar primary --location "Zoom" --json
mikacli google calendar delete-event google-event-id-example --calendar primary --jsonUse mikacli tools download for multi-site media downloads powered by yt-dlp, with optional saved-session cookies from MikaCLI when a site needs auth.
Examples:
mikacli tools download info https://www.youtube.com/watch?v=dQw4w9WgXcQ --json
mikacli tools download video https://x.com/user/status/123 --platform x
mikacli tools download video https://www.instagram.com/reel/SHORTCODE/ --platform instagram --account default
mikacli tools download audio https://www.youtube.com/watch?v=dQw4w9WgXcQ --audio-format mp3
mikacli tools download batch ./urls.txt --mode video --quality 720p
mikacli tools download info 'https://www.youtube.com/playlist?list=PLFgquLnL59alCl_2TQvOiD5Vgm1hCaGSI' --playlist --limit 5Use mikacli search to find providers and exact runnable commands across MikaCLI's built-in command surface.
Examples:
mikacli search github
mikacli search "youtube download"
mikacli search uptime --category devops
mikacli search gmail --category google
mikacli search transcript --jsonUse mikacli sessions validate when you want a live provider check instead of the last saved session state.
Examples:
mikacli sessions validate
mikacli sessions validate x
mikacli sessions validate youtube default --jsonUse mikacli sessions repair when you want MikaCLI to validate first, then replay safe login paths like stored tokens or browser-assisted cookie repair.
Examples:
mikacli sessions repair
mikacli sessions repair x --browser
mikacli sessions repair discordbot default --jsonUse mikacli jobs to inspect saved media and async jobs across providers, then reopen, watch, download, or cancel them from one root command surface.
Examples:
mikacli jobs
mikacli jobs --platform grok
mikacli jobs show job-id-example
mikacli jobs watch job-id-example
mikacli jobs download job-id-example --output-dir ./renders
mikacli jobs cancel job-id-example --platform grokUse mikacli tools transcript to pull subtitles or transcripts from media pages supported by yt-dlp, with plain text by default and subtitle formats when you need them.
Examples:
mikacli tools transcript https://www.youtube.com/watch?v=dQw4w9WgXcQ
mikacli tools transcript https://www.youtube.com/watch?v=dQw4w9WgXcQ --lang en --format srt
mikacli tools transcript https://www.youtube.com/watch?v=dQw4w9WgXcQ --auto --format json --jsonMikaCLI keeps provider-specific fields, but it also adds a few stable JSON aliases so agents can plan and transform results more reliably:
data.itemsfor list-style results, even when the provider also returns keys likerepos,projects,posts, orrecommendationsdata.entityfor singular objects, even when the provider also returns keys likeprofile,page,movie, orprojectdata.meta.countanddata.meta.listKeyfor quick list summariesdata.guidance.recommendedNextCommandanddata.guidance.nextCommandsfor safer follow-up planning
Example:
mikacli social reddit search "bun cli" --json
mikacli movie tmdb title 27205 --json
mikacli developer github capabilities --jsonUse --filter and --select global flags to transform JSON results without external tools:
mikacli developer github repos --json --filter 'stargazers_count > 100'
mikacli developer github repos --json --filter 'language = "TypeScript" AND stargazers_count > 1000'
mikacli social x posts --json --filter 'public_metrics.likes > 5000'mikacli developer github repos --json --select name,stargazers_count,language
mikacli social linkedin posts --json --select content,engagement_count,timestampmikacli developer github repos --json \
--filter 'stargazers_count > 100 AND language = "TypeScript"' \
--select name,stargazers_count,url- Comparison:
>,<,>=,<=,=,!= - Text:
CONTAINS,STARTS_WITH,ENDS_WITH - Logic:
AND,ORwith proper precedence - Nested fields: Access via dot notation, e.g.,
public_metrics.like_count
For detailed examples and syntax reference, see FILTERING_GUIDE.md.
Transform JSON results into different formats without external tools using --format:
csv- Comma-separated values (for spreadsheets and data pipelines)table- Formatted terminal table with unicode bordersyaml- YAML output (for configuration and infrastructure)markdown- Markdown tables (for documentation and reports)html- HTML tables (for email reports and web pages)json- Default JSON format
# Export to CSV for Excel
mikacli developer github repos --json --format csv > repos.csv
# Display as formatted table in terminal
mikacli social reddit search "ai" --json --format table --filter 'score > 100'
# Generate markdown table for documentation
mikacli developer github repos --json --format markdown --select name,language,stargazers_count
# Create HTML report
mikacli devops vercel projects --json --format html --select name,updated_at > report.html
# YAML for configuration/infrastructure
mikacli devops railway services --json --format yaml > services.yaml# High-star TypeScript repos as CSV
mikacli developer github repos --json \
--filter 'language = "TypeScript" AND stargazers_count > 100000' \
--select name,stargazers_count,forks_count \
--format csv > top-ts-repos.csv
# Popular posts as markdown table
mikacli social reddit search "bun cli" --json \
--filter 'score > 500' \
--select title,author,score \
--format markdownstable: ready for routine automation and the default choice when you have optionspartial: core flows work well, but some protected or edge routes may still need careexperimental: useful, but still changing quickly and best used with extra verificationunknown: not classified yet, so inspect withcapabilities --jsonbefore leaning on it
To inspect a provider before acting:
mikacli developer github capabilities --json
mikacli social reddit capabilities --json
mikacli devops railway capabilities --jsonThis inventory is generated from the live platform registry.
| Category | Representative providers | Count | Auth modes | Use it for | Route |
|---|---|---|---|---|---|
llm |
chatgpt, claude, deepseek, gemini, grok, +4 more |
9 | cookies |
Prompting, chat, image, and generation workflows. | mikacli llm ... |
editor |
archive, audio, document, gif, image, +3 more |
8 | none |
Local file, media, and document transformations. | mikacli editor ... |
finance |
crypto, currency, stocks |
3 | none |
Market, forex, and crypto lookups. | mikacli finance ... |
data |
csv, html, json, markdown, text, +2 more |
7 | none |
Structured data cleanup, conversion, filtering, and extraction. | mikacli data ... |
google |
calendar, docs, drive, forms, gmail, +1 more |
6 | oauth2 |
Google Workspace APIs and account-backed productivity flows. | mikacli google ... |
maps |
geo, openstreetmap, osrm |
3 | none |
Geocoding, routing, elevation, and geometry helpers. | mikacli maps ... |
movie |
anilist, imdb, justwatch, kitsu, letterboxd, +3 more |
8 | cookies, none |
Title lookup, recommendations, and streaming availability. | mikacli movie ... |
news |
news |
1 | none |
Headline discovery, source search, and feed aggregation. | mikacli news ... |
music |
bandcamp, deezer, soundcloud, spotify, youtube-music |
5 | cookies, none |
Music discovery, playback, and library-style workflows. | mikacli music ... |
social |
bluesky, facebook, instagram, linkedin, mastodon, +9 more |
14 | cookies, none, session |
Posting, profile lookup, messaging, and public social reads. | mikacli social ... |
careers |
indeed, ziprecruiter |
2 | none |
Job search and hiring discovery workflows. | mikacli careers ... |
shopping |
amazon, ebay, etsy, flipkart |
4 | cookies, none |
Product discovery plus cart and order surfaces where supported. | mikacli shopping ... |
developer |
confluence, github, gitlab, jira, linear, +2 more |
7 | cookies |
Code hosting, issues, docs, and workspace automation. | mikacli developer ... |
devops |
cloudflare, digitalocean, fly, netlify, railway, +4 more |
9 | api token |
Infrastructure, deployments, DNS, and uptime automation. | mikacli devops ... |
bot |
discordbot, githubbot, slackbot, telegrambot |
4 | api token, bot token |
Bot-token messaging and chat ops. | mikacli bot ... |
tools |
cheat, dns, download, favicon, headers, +22 more |
27 | cookies, none, session |
Public utilities, temp mail, downloads, transcripts, and web helpers. | mikacli tools ... |
MikaCLI currently exposes 117 providers across 16 active command groups.
| Needs | Meaning |
|---|---|
none |
Public or local functionality. No cookies, no token, no API key. |
local tools |
Uses binaries already installed on the machine, like ffmpeg, ffprobe, qpdf, or yt-dlp. |
cookies |
Import a browser session with login --cookies ... or let MikaCLI open a browser with login --browser, then reuse it headlessly. |
session |
Do one interactive login once, save the resulting user session locally, then reuse it headlessly. |
cookies + local token |
Cookie session plus a token the site keeps in localStorage or a similar client store. |
api token |
A personal or service token saved once with login --token .... |
bot token |
A bot token saved once with login --token .... |
browser later |
The current CLI route works for some surfaces, but more protected flows may later get an opt-in browser-backed mode. |
Use the published package as the primary supported install path:
npm install -g mikacli
bun install -g mikacliAfter install, verify the command and your local environment:
mikacli --version
mikacli doctor
mikacli doctor --fix
mikacli statusmikacli doctor checks the shared browser setup plus optional local tools such as ffmpeg, yt-dlp, qpdf, poppler, 7z, and macOS-native helpers when relevant.
On macOS, mikacli doctor --fix can install all supported missing browser and local-tool dependencies automatically with Homebrew, then rerun the health check.
Set up the repo locally with Bun:
bun installBuild the Node-targeted bundle:
bun run buildYou can also compile a standalone Bun binary:
bun run build:binThis path is still experimental. The supported production install remains the npm or Bun global package above, because some runtime-heavy providers can behave differently in the compiled Bun binary.
Link mikacli globally for local development:
bun run link:globalIf your shell still says command not found, open a new shell or run hash -r.
Refresh the generated README sections, regenerate the provider-specific skill references, and sync the installed Codex skill copy:
bun run generate:readme
bun run generate:skill-providers
bun run sync:docs
bun run sync:skillsbun run generate:readme refreshes the marker-based sections in this README from the live provider registry.
bun run sync:docs runs the README generator, refreshes the generated files under skills/mikacli/references/providers, and copies the repo skill into your local Codex skill directory (defaults to ~/.codex/skills/mikacli unless CODEX_HOME is set).
npm publish now runs this automatically through prepublishOnly, so release builds regenerate and sync the docs before typecheck, tests, and build.
Platform manifests and provider runtime metadata are auto-discovered into generated files, so new providers no longer need a manual import/edit pass in src/platforms/index.ts or a hand-edited central config entry.
bun run generate:platform-registryCommon scripts such as dev, start, typecheck, test, build, and generate:skill-providers refresh the generated registry automatically.
If you plan to contribute, please do not commit live cookies, tokens, QR session state, or personal exports. MikaCLI should only store those locally on the contributor machine, never in the repository.
Check global status:
mikacli status
mikacli status --json
mikacli doctor
mikacli sessionsIf you have not linked the CLI globally yet:
bun run dev statusTypical first-run flows:
mikacli social x login --cookies ./x.cookies.json
mikacli developer github login --browser
mikacli llm chatgpt text "Summarize this changelog"
mikacli developer github login --cookies ./github.cookies.json
mikacli devops cloudflare login --token $CLOUDFLARE_API_TOKEN
mikacli social telegram login --api-id 123456 --api-hash abcdef123456 --qr
mikacli bot telegrambot login --token 123456:ABCDEF --name alerts-bot
mikacli news top "AI"
mikacli tools websearch search "bun commander zod"
mikacli tools http github inspectmikacli social instagram login --cookies ./instagram.cookies.txt
mikacli social instagram post ./photo.jpg --caption "Shipping from the terminal"
mikacli social x login --cookies ./x.cookies.json
mikacli social x post "Launching MikaCLI" --image ./launch.pngIf you do not want to export cookies manually, many cookie-backed providers now also support:
mikacli login --browser
mikacli developer github login --browser
mikacli social x login --browser
mikacli llm qwen login --browsermikacli login --browser opens MikaCLI's shared browser profile so you can sign into Google or other identity providers once. Later provider logins reuse that same saved browser profile, and mikacli <category> <provider> login --browser still skips opening the browser entirely when an already-saved active provider session is available.
mikacli llm chatgpt text "Write release notes for MikaCLI"
mikacli llm deepseek login --cookies ./deepseek.cookies.json --token <userToken>
mikacli llm deepseek text "Explain retrieval-augmented generation"
mikacli llm grok image "Minimal orange fox logo on white background"
mikacli llm grok video "Minimal orange fox logo with subtle camera motion"mikacli developer confluence search "deploy backend"
mikacli developer github me
mikacli developer gitlab projects "mikacli" --limit 10
mikacli developer jira projects
mikacli developer linear issues --team ENG --limit 20
mikacli developer trello boards
mikacli devops netlify sites
mikacli devops railway projects
mikacli devops fly apps --org personal
mikacli devops digitalocean apps
mikacli bot telegrambot send 123456789 "Build finished"
mikacli bot discordbot send 123456789012345678 "nightly deploy complete"mikacli google gmail labels --json
mikacli google calendar today --calendar primary --json
mikacli google docs documents --limit 10 --json
mikacli google forms forms --limit 10 --json
mikacli google drive files --limit 10 --json
mikacli google sheets values google-sheet-id-example Sheet1!A1:B10 --jsonmikacli social telegram login --api-id 123456 --api-hash abcdef123456 --qr
mikacli social telegram send me "Hello from MikaCLI"
mikacli social reddit search "bun cli"
mikacli social reddit post programming "Launching MikaCLI" "Now with Reddit support."
mikacli social whatsapp login
mikacli social whatsapp send 919876543210 "Ping from MikaCLI"mikacli news top "AI" --source google
mikacli news search "typescript cli"
mikacli news feed https://hnrss.org/frontpage --limit 5
mikacli tools translate "hello world" --to hi
mikacli tools websearch search "typescript cli bun"
mikacli tools screenshot https://example.com --output-dir ./shots
mikacli tools favicon openai.com
mikacli tools page-links https://example.com --type external
mikacli tools timezone "Mumbai"
mikacli tools oembed https://www.youtube.com/watch?v=dQw4w9WgXcQ
mikacli login --browser
mikacli tools http github.com capture --browser-timeout 60
mikacli tools http github.com capture --summary --group-by endpoint --browser-timeout 60
mikacli tools uptime https://example.com --json
mikacli tools rss https://hnrss.org/frontpage --limit 5mikacli music bandcamp search "radiohead"
mikacli music bandcamp album https://radiohead.bandcamp.com/album/in-rainbows
mikacli music soundcloud search "dandelions"
mikacli music soundcloud user aviciiofficial
mikacli music soundcloud playlist https://soundcloud.com/lofi-hip-hop-music/sets/lofi-lofi
mikacli music soundcloud download "dandelions" --output-dir ./downloadsmikacli editor image resize ./photo.png --width 1200
mikacli editor video split ./clip.mp4 --every 30
mikacli editor video blur ./clip.mp4 --x 120 --y 80 --width 360 --height 200 --start 00:00:05 --duration 3 --corner-radius 24
mikacli editor audio loudness-report ./podcast.wav
mikacli editor pdf watermark ./deck.pdf --text "Internal"
mikacli editor subtitle burn ./video.mp4 --subtitle ./captions.srtCookie sessions are stored under:
~/.mikacli/sessions/<platform>/<account>.json
Token, bot, and saved session connections are stored under:
~/.mikacli/connections/<platform>/<account>.json
MikaCLI supports importing:
- Netscape
cookies.txt - raw cookie strings
- JSON cookie arrays
- serialized
tough-cookiejars
After the first login, later commands normally omit --account or --bot and MikaCLI uses the most recently saved connection for that provider.
The tables below are generated from provider manifests and runtime capability metadata, so they stay aligned with mikacli <category> <provider> capabilities --json.
| Provider | Stability | Auth | Read | Write | Browser login | Async jobs | Command |
|---|---|---|---|---|---|---|---|
| ChatGPT | stable |
cookies |
supported |
supported |
supported |
partial |
mikacli llm chatgpt |
| Claude | partial |
cookies |
supported |
supported |
supported |
partial |
mikacli llm claude |
| DeepSeek | partial |
cookies |
supported |
supported |
supported |
partial |
mikacli llm deepseek |
| Gemini | stable |
cookies |
supported |
supported |
supported |
partial |
mikacli llm gemini |
| Grok | partial |
cookies |
supported |
supported |
supported |
supported |
mikacli llm grok |
| Mistral | partial |
cookies |
supported |
supported |
supported |
partial |
mikacli llm mistral |
| Perplexity | partial |
cookies |
supported |
supported |
supported |
partial |
mikacli llm perplexity |
| Qwen | partial |
cookies |
supported |
supported |
supported |
partial |
mikacli llm qwen |
| Z.ai | partial |
cookies |
supported |
supported |
supported |
partial |
mikacli llm zai |
Notes:
chatgpt: Shared browser login works well for cookie capture and reuse.deepseek: Some flows also need a token recovered from browser storage.grok: MikaCLI can fall back to an in-browser Grok request path when the browserless endpoint is blocked.
| Provider | Stability | Auth | Read | Write | Browser login | Async jobs | Command |
|---|---|---|---|---|---|---|---|
| Archive Editor | stable |
none |
supported |
supported |
unsupported |
unsupported |
mikacli editor archive |
| Audio Editor | stable |
none |
supported |
supported |
unsupported |
unsupported |
mikacli editor audio |
| Document Editor | stable |
none |
supported |
supported |
unsupported |
unsupported |
mikacli editor document |
| GIF Editor | stable |
none |
supported |
supported |
unsupported |
unsupported |
mikacli editor gif |
| Image Editor | stable |
none |
supported |
supported |
unsupported |
unsupported |
mikacli editor image |
| PDF Editor | stable |
none |
supported |
supported |
unsupported |
unsupported |
mikacli editor pdf |
| Subtitle Editor | stable |
none |
supported |
supported |
unsupported |
unsupported |
mikacli editor subtitle |
| Video Editor | stable |
none |
supported |
supported |
unsupported |
unsupported |
mikacli editor video |
| Provider | Stability | Auth | Read | Write | Browser login | Async jobs | Command |
|---|---|---|---|---|---|---|---|
| Crypto | stable |
none |
supported |
unsupported |
unsupported |
unsupported |
mikacli finance crypto |
| Currency | stable |
none |
supported |
unsupported |
unsupported |
unsupported |
mikacli finance currency |
| Stocks | stable |
none |
supported |
unsupported |
unsupported |
unsupported |
mikacli finance stocks |
| Provider | Stability | Auth | Read | Write | Browser login | Async jobs | Command |
|---|---|---|---|---|---|---|---|
| CSV | stable |
none |
supported |
supported |
unsupported |
unsupported |
mikacli data csv |
| HTML | stable |
none |
supported |
supported |
unsupported |
unsupported |
mikacli data html |
| JSON | stable |
none |
supported |
supported |
unsupported |
unsupported |
mikacli data json |
| Markdown | stable |
none |
supported |
supported |
unsupported |
unsupported |
mikacli data markdown |
| Text | stable |
none |
supported |
supported |
unsupported |
unsupported |
mikacli data text |
| XML | stable |
none |
supported |
supported |
unsupported |
unsupported |
mikacli data xml |
| YAML | stable |
none |
supported |
supported |
unsupported |
unsupported |
mikacli data yaml |
| Provider | Stability | Auth | Read | Write | Browser login | Async jobs | Command |
|---|---|---|---|---|---|---|---|
| Gmail | stable |
oauth2 |
supported |
supported |
unsupported |
unsupported |
mikacli google gmail |
| Google Calendar | stable |
oauth2 |
supported |
supported |
unsupported |
unsupported |
mikacli google calendar |
| Google Docs | stable |
oauth2 |
supported |
supported |
unsupported |
unsupported |
mikacli google docs |
| Google Drive | stable |
oauth2 |
supported |
supported |
unsupported |
unsupported |
mikacli google drive |
| Google Forms | stable |
oauth2 |
supported |
supported |
unsupported |
unsupported |
mikacli google forms |
| Google Sheets | stable |
oauth2 |
supported |
supported |
unsupported |
unsupported |
mikacli google sheets |
Notes:
gmail: Uses Google's OAuth2 flow and stores refresh tokens locally for headless reuse.calendar: Uses Google's OAuth2 flow for calendar listing plus Google Calendar event reads and writes.docs: Uses Google's OAuth2 flow for Google Docs listing, content reads, document creation, and text edits.drive: Uses Google's OAuth2 flow and supports Drive file listing, uploads, downloads, and deletes.forms: Uses Google's OAuth2 flow plus Drive-backed listing and deletion for Google Forms CRUD, responses, and publish settings.sheets: Uses Google's OAuth2 flow for spreadsheet reads and writes.
| Provider | Stability | Auth | Read | Write | Browser login | Async jobs | Command |
|---|---|---|---|---|---|---|---|
| Geo | stable |
none |
supported |
unsupported |
unsupported |
unsupported |
mikacli maps geo |
| OpenStreetMap | stable |
none |
supported |
unsupported |
unsupported |
unsupported |
mikacli maps openstreetmap |
| OSRM | stable |
none |
supported |
unsupported |
unsupported |
unsupported |
mikacli maps osrm |
| Provider | Stability | Auth | Read | Write | Browser login | Async jobs | Command |
|---|---|---|---|---|---|---|---|
| AniList | stable |
none |
supported |
unsupported |
unsupported |
unsupported |
mikacli movie anilist |
| IMDb | stable |
none |
supported |
unsupported |
unsupported |
unsupported |
mikacli movie imdb |
| JustWatch | stable |
none |
supported |
unsupported |
unsupported |
unsupported |
mikacli movie justwatch |
| Kitsu | stable |
none |
supported |
unsupported |
unsupported |
unsupported |
mikacli movie kitsu |
| Letterboxd | stable |
none |
supported |
unsupported |
unsupported |
unsupported |
mikacli movie letterboxd |
| MyAnimeList | stable |
cookies, none |
supported |
unsupported |
unsupported |
unsupported |
mikacli movie myanimelist |
| TMDb | stable |
none |
supported |
unsupported |
unsupported |
unsupported |
mikacli movie tmdb |
| TVMaze | stable |
none |
supported |
unsupported |
unsupported |
unsupported |
mikacli movie tvmaze |
| Provider | Stability | Auth | Read | Write | Browser login | Async jobs | Command |
|---|---|---|---|---|---|---|---|
| News | stable |
none |
supported |
unsupported |
unsupported |
unsupported |
mikacli news |
| Provider | Stability | Auth | Read | Write | Browser login | Async jobs | Command |
|---|---|---|---|---|---|---|---|
| Bandcamp | stable |
none |
supported |
unsupported |
partial |
unsupported |
mikacli music bandcamp |
| Deezer | stable |
none |
supported |
unsupported |
partial |
unsupported |
mikacli music deezer |
| SoundCloud | stable |
none |
supported |
partial |
partial |
unsupported |
mikacli music soundcloud |
| Spotify | stable |
cookies |
supported |
supported |
supported |
unsupported |
mikacli music spotify |
| YouTube Music | partial |
cookies |
supported |
supported |
supported |
unsupported |
mikacli music youtube-music |
| Provider | Stability | Auth | Read | Write | Browser login | Async jobs | Command |
|---|---|---|---|---|---|---|---|
| Bluesky | stable |
none, session |
supported |
supported |
unsupported |
unsupported |
mikacli social bluesky |
partial |
cookies |
supported |
supported |
supported |
unsupported |
mikacli social facebook |
|
partial |
cookies |
supported |
supported |
supported |
unsupported |
mikacli social instagram |
|
partial |
cookies |
supported |
partial |
supported |
unsupported |
mikacli social linkedin |
|
| Mastodon | stable |
none |
supported |
unsupported |
unsupported |
unsupported |
mikacli social mastodon |
stable |
none |
supported |
unsupported |
unsupported |
unsupported |
mikacli social pinterest |
|
partial |
none, cookies |
supported |
supported |
supported |
unsupported |
mikacli social reddit |
|
| Telegram | partial |
session |
supported |
supported |
unsupported |
unsupported |
mikacli social telegram |
| Threads | partial |
none |
supported |
unsupported |
unsupported |
unsupported |
mikacli social threads |
| TikTok | partial |
cookies |
supported |
partial |
supported |
unsupported |
mikacli social tiktok |
| Twitch | partial |
cookies |
supported |
partial |
supported |
unsupported |
mikacli social twitch |
partial |
session |
supported |
supported |
unsupported |
unsupported |
mikacli social whatsapp |
|
| X | partial |
cookies |
supported |
supported |
supported |
unsupported |
mikacli social x |
| YouTube | partial |
cookies |
supported |
partial |
supported |
unsupported |
mikacli social youtube |
Notes:
bluesky: Public reads stay available without auth. App-password login enables saved-sessionme,post,comment, andlikecommands without browser automation.facebook: Facebook writes now run through browser-backed post, like, and comment flows. Use--browserto jump straight into the shared MikaCLI browser profile when you want the visible browser path.instagram: Reads and image/comment writes are browserless; post and comment deletion can fall back to browser-backed flows when Instagram's web APIs get flaky.reddit: Public reads are stable; writes can use a saved session or the shared browser profile.telegram: Uses saved MTProto sessions instead of browser cookies.twitch: Uses Twitch's authenticated web GraphQL surface for channel, stream, video, and clip lookups.twitch: Follow and unfollow try Twitch's web mutation path first, then can fall back to the shared MikaCLI browser profile when Twitch enforces an integrity challenge.twitch: Clip creation and stream settings updates currently run through the shared MikaCLI browser profile.whatsapp: Uses QR or pairing-code session state instead of browser cookies.x: X write actions run through browser-backed flows. Use--browserto force the shared MikaCLI browser profile immediately when you want the live browser path.youtube: Studio uploads are browser-backed. Watch-page likes, dislikes, comments, and subscriptions still use request tokens from the saved session.
| Provider | Stability | Auth | Read | Write | Browser login | Async jobs | Command |
|---|---|---|---|---|---|---|---|
| Indeed | stable |
none |
supported |
unsupported |
unsupported |
unsupported |
mikacli careers indeed |
| ZipRecruiter | stable |
none |
supported |
unsupported |
unsupported |
unsupported |
mikacli careers ziprecruiter |
| Provider | Stability | Auth | Read | Write | Browser login | Async jobs | Command |
|---|---|---|---|---|---|---|---|
| Amazon | partial |
cookies |
supported |
partial |
supported |
unsupported |
mikacli shopping amazon |
| eBay | stable |
none |
supported |
unsupported |
unsupported |
unsupported |
mikacli shopping ebay |
| Etsy | partial |
none |
supported |
unsupported |
unsupported |
unsupported |
mikacli shopping etsy |
| Flipkart | stable |
cookies |
supported |
supported |
supported |
unsupported |
mikacli shopping flipkart |
Notes:
amazon:add-to-cart,remove-from-cart,update-cart,orders,order, andcartsupport browser-backed execution when the saved session alone is not enough.flipkart: Uses the saved Flipkart session for cart actions. New adds use the authenticated cart endpoint; quantity updates and removals use the saved session in an invisible browser.
| Provider | Stability | Auth | Read | Write | Browser login | Async jobs | Command |
|---|---|---|---|---|---|---|---|
| Confluence | stable |
cookies |
supported |
supported |
supported |
unsupported |
mikacli developer confluence |
| GitHub | stable |
cookies |
supported |
supported |
supported |
unsupported |
mikacli developer github |
| GitLab | stable |
cookies |
supported |
supported |
supported |
unsupported |
mikacli developer gitlab |
| Jira | stable |
cookies |
supported |
supported |
supported |
unsupported |
mikacli developer jira |
| Linear | partial |
cookies |
supported |
supported |
supported |
unsupported |
mikacli developer linear |
| Notion | partial |
cookies |
supported |
supported |
supported |
unsupported |
mikacli developer notion |
| Trello | stable |
cookies |
supported |
supported |
supported |
unsupported |
mikacli developer trello |
Notes:
github: Uses a saved GitHub web session for browserless repository automation.
| Provider | Stability | Auth | Read | Write | Browser login | Async jobs | Command |
|---|---|---|---|---|---|---|---|
| Cloudflare | stable |
api token |
supported |
unsupported |
unsupported |
unsupported |
mikacli devops cloudflare |
| DigitalOcean | stable |
api token |
supported |
unsupported |
unsupported |
unsupported |
mikacli devops digitalocean |
| Fly.io | partial |
api token |
supported |
unsupported |
unsupported |
unsupported |
mikacli devops fly |
| Netlify | stable |
api token |
supported |
unsupported |
unsupported |
unsupported |
mikacli devops netlify |
| Railway | partial |
api token |
supported |
unsupported |
unsupported |
unsupported |
mikacli devops railway |
| Render | stable |
api token |
supported |
unsupported |
unsupported |
unsupported |
mikacli devops render |
| Supabase | stable |
api token |
supported |
unsupported |
unsupported |
unsupported |
mikacli devops supabase |
| UptimeRobot | stable |
api token |
supported |
supported |
unsupported |
unsupported |
mikacli devops uptimerobot |
| Vercel | stable |
api token |
supported |
unsupported |
unsupported |
unsupported |
mikacli devops vercel |
Notes:
fly: Org-aware app listing may require an explicit --org slug for some tokens.railway: Uses Railway's GraphQL surface, so some deeper actions may still be added later.uptimerobot: Uses UptimeRobot's official v3 API with bearer-token authentication.
| Provider | Stability | Auth | Read | Write | Browser login | Async jobs | Command |
|---|---|---|---|---|---|---|---|
| Discord Bot | stable |
bot token |
supported |
supported |
unsupported |
unsupported |
mikacli bot discordbot |
| GitHub Bot | stable |
api token |
supported |
supported |
unsupported |
unsupported |
mikacli bot githubbot |
| Slack Bot | stable |
bot token |
supported |
supported |
unsupported |
unsupported |
mikacli bot slackbot |
| Telegram Bot | stable |
bot token |
supported |
supported |
unsupported |
unsupported |
mikacli bot telegrambot |
| Provider | Stability | Auth | Read | Write | Browser login | Async jobs | Command |
|---|---|---|---|---|---|---|---|
| Cheat | stable |
none |
supported |
unknown |
unsupported |
unsupported |
mikacli tools cheat |
| DNS | stable |
none |
supported |
unknown |
unsupported |
unsupported |
mikacli tools dns |
| Download | stable |
none, cookies |
supported |
unknown |
unsupported |
unsupported |
mikacli tools download |
| Favicon | stable |
none |
supported |
unknown |
unsupported |
unsupported |
mikacli tools favicon |
| Headers | stable |
none |
supported |
unknown |
unsupported |
unsupported |
mikacli tools headers |
| HTTP Toolkit | stable |
none, cookies |
supported |
supported |
unsupported |
unsupported |
mikacli tools http |
| IP | stable |
none |
supported |
unknown |
unsupported |
unsupported |
mikacli tools ip |
| Markdown Fetch | stable |
none |
supported |
unknown |
unsupported |
unsupported |
mikacli tools markdown-fetch |
| Metadata | stable |
none |
supported |
unknown |
unsupported |
unsupported |
mikacli tools metadata |
| oEmbed | stable |
none |
supported |
unknown |
unsupported |
unsupported |
mikacli tools oembed |
| Page Links | stable |
none |
supported |
unknown |
unsupported |
unsupported |
mikacli tools page-links |
| QR | stable |
none |
supported |
unknown |
unsupported |
unsupported |
mikacli tools qr |
| Redirect | stable |
none |
supported |
unknown |
unsupported |
unsupported |
mikacli tools redirect |
| Robots | stable |
none |
supported |
unknown |
unsupported |
unsupported |
mikacli tools robots |
| RSS | stable |
none |
supported |
unknown |
unsupported |
unsupported |
mikacli tools rss |
| Screenshot | stable |
none |
supported |
unknown |
unsupported |
unsupported |
mikacli tools screenshot |
| Sitemap | stable |
none |
supported |
unknown |
unsupported |
unsupported |
mikacli tools sitemap |
| SSL | stable |
none |
supported |
unknown |
unsupported |
unsupported |
mikacli tools ssl |
| Temp Mail | stable |
session |
supported |
supported |
unsupported |
unsupported |
mikacli tools tempmail |
| Time | stable |
none |
supported |
unknown |
unsupported |
unsupported |
mikacli tools time |
| Timezone | stable |
none |
supported |
unknown |
unsupported |
unsupported |
mikacli tools timezone |
| Transcript | stable |
none |
supported |
unknown |
unsupported |
unsupported |
mikacli tools transcript |
| Translate | stable |
none |
supported |
unknown |
unsupported |
unsupported |
mikacli tools translate |
| Uptime | stable |
none |
supported |
unknown |
unsupported |
unsupported |
mikacli tools uptime |
| Weather | stable |
none |
supported |
unknown |
unsupported |
unsupported |
mikacli tools weather |
| Web Search | stable |
none |
supported |
unknown |
unsupported |
unsupported |
mikacli tools websearch |
| Whois | stable |
none |
supported |
unknown |
unsupported |
unsupported |
mikacli tools whois |
Notes:
http: Best used with saved sessions or the shared browser profile for authenticated request inspection and replay.tempmail: Uses Mail.tm's free disposable inbox API and stores the mailbox session locally for reuse.
Every command supports --json.
Success shape:
{
"ok": true,
"platform": "x",
"account": "personal",
"action": "post",
"message": "X post created for personal.",
"id": "1234567890",
"url": "https://x.com/user/status/1234567890"
}Error shape:
{
"ok": false,
"error": {
"code": "SESSION_EXPIRED",
"message": "X returned a logged-out page. Re-import cookies.txt."
}
}This makes MikaCLI friendly for:
- shell scripts
- CI jobs
- multi-step agents
- external orchestrators
MikaCLI includes a refresh layer in src/utils/autorefresh.ts.
- Instagram, X, and YouTube can use lightweight authenticated keepalive checks before normal actions.
- Rotated cookies are persisted back into the saved session file when the platform returns them.
- Some platforms still do not support a durable cookie-only refresh path, so expiration handling remains provider-specific.
This is the most practical browserless approach for copied web sessions, but it is not a universal guarantee for every website.
For cookie-backed providers that support interactive capture, you can also use login --browser to open a real browser, complete the sign-in flow manually, and let MikaCLI save the session automatically.
.
├── README.md
├── package.json
├── tsconfig.json
└── src
├── __tests__
├── core
│ ├── auth
│ └── runtime
├── commands
├── platforms
│ ├── bot
│ ├── developer
│ ├── editor
│ ├── finance
│ ├── llm
│ ├── maps
│ ├── movie
│ ├── music
│ ├── shopping
│ ├── social
│ ├── tools
│ ├── config.ts
│ └── index.ts
├── utils
├── config.ts
├── errors.ts
├── index.ts
└── logger.ts
Run the local CLI:
bun run dev --help
bun run dev social x login --cookies ./cookie.jsonWatch mode:
bun run dev:watch --helpTypecheck:
bun run typecheckRun tests:
bun test- Cookie-backed private web flows can drift as providers change internal endpoints.
- Token-backed developer and bot providers are usually the most stable long-term.
- Local editor and public utility providers are the least fragile because they do not depend on private web sessions.
- The category model is intentionally strict so provider names do not collide as MikaCLI grows.