Mycroft Icon

An open source privacy-respecting AI platform, compatible with a wide range of devices including Raspberry Pi, desktop computers, or dedicated Mycroft hardware. Actively developed, with extensive documentation and a broad skill set. Facilitates easy development of new skills.

Open Source

Mycroft Privacy Policy

Privacy Policy Summary

  • The service can delete your account without prior notice and without a reason
  • This service ignores the Do Not Track (DNT) header and tracks users anyway even if they set this header.
  • This service assumes no liability for unauthorized access to your personal information
  • The service may change its terms at any time, but the user will receive notification of the changes.


About the Data

This data is kindly provided by Read full report at: #1824

Mycroft Source Code




Mycroft Core, the Mycroft Artificial Intelligence platform.






20 May 16

Last Updated

16 May 24

Latest version


Primary Language



120,135 KB







Language Usage

Language Usage

Star History

Star History

Recent Commits

  • Åke (23 Nov 22)

    Handle multiple intents with the same name (#2921) * Add check for duplicate adapt intents There are two cases, duplicated named intent and duplicated anonymous intent. A named intent will cause a ValueError exception notifying the skill author that there is a collision. An anonymous intent will silently derive a new name and use that instead of the default generated one. * Add tests for intent collisions * Make enable/disable intent handle the new exception The enable/disable intent did not mark an intent as detached, instead it remained in the list of intents after disabling in the IntentServiceInterface to be retrieved when the intent should be re-enabled. This moves detached intents into a list of detached intents to so they won't cause the double enable exception. * Add move logic to find if intent is detached MycroftSkill.enable_intent() will now check if the intent is detached before trying to re-enable it. * Lock updates of intents This should avoid some race conditions that may occur if multiple threads tries to enable / disable intents

  • Matthias Pfefferle (27 Jul 22)

    add german nose-word-list

  • Gaëtan Trellu (20 Sept 22)

    Fix French language

  • Gaëtan Trellu (20 Sept 22)

    Add French noise_words.list

  • amaciotta (09 Sept 22)

    Update yes.voc Improvement italian translation.

  • Mike (24 Jun 22)

    Improve help message and logging of (#3105) * Improve help message and logging * Fix stray formatting * Create /var/log/mycroft at the start of execution * Make sure sudo is available * Move function found_exe up * Explicitly call out setup completion * Add -a flag to append rather than overwrite

  • Kris Gesling (21 Jun 22)

    Relax pyyaml version requirement This specific version was failing on Debian Bullseye installs. Using the ~= operator allows for point release updates to this package.

  • Bart Ribbers (02 Jun 22)

    Don't install pulseaudio-dev on Alpine Linux systems (#3109) * Prefix the Alpine Linux virtual package name with a dot This way the package is easy to recognize when inspecting /etc/apk/world, and it's actually a standard to do so for virtual packages * Put all Alpine Linux deps on seperate lines This way you get cleaner git diffs, showing more clearly what is changing when adding or removing something * Don't install pulseaudio-dev on Alpine Linux systems It doesn't actually seem to be required by any of the PyPi deps

  • Bart Ribbers (06 Sept 20)

    {start,stop} port to POSIX sh This makes the start and stop scripts compatible with POSIX shells. Overview of the changes: - "function" statements removed, not necessary and incompatible - dashes in function and variable names for lower ones (- to _) - source statements changed for . - double square brackets replaced for single ones - double equal statements replaced for single ones - &> (piping stdout and stderr to the same file) replaced for 2>&1 > - sourcing of mycroft-skill-testrunner replaced with direct execution with Bash - replaced BASH_SOURCE with $0, these scripts are never sourced anyway - replaced "echo -n" statements with "printf" - merged the "" and "all" cases to a single one

  • Bart Ribbers (06 Sept 20)

    {start,stop} fix shellcheck issues ShellCheck is a static analysis tool for shell scripts with the goal to: - point out and clarify typical beginner's syntax issues that cause a shell to give cryptic error messages - point out and clarify typical intermediate level semantic problems that cause a shell to behave strangely and counter-intuitively - point out subtle caveats, corner cases and pitfalls that may cause an advanced user's otherwise working script to fail under future circumstances I've ran this tool over both and and fixed any issue that popped up

  • Åke (21 Apr 22)

    Requirements: remove pychromecast (#3098)

  • Kris Gesling (20 Apr 22)

    Silence file does not exist error when clearing VK files (#3093) When clearing VK test files - if some files didn't exist (because they weren't created) the bare rm command will report an error that the files didn't exist. We don't care, only that they are removed if they did exist.

  • Åke (19 Apr 22)

    Remove the chromecast audio backend (#3097) The pychromecast module is quite outdated and I think the backend would fit better as a plugin now.

  • Åke (08 Apr 22)

    dev_setup: Give packages in separate args to pacman (#3094) This makes sure the packages aren't clumped together into a single argument when using pacman to install packages for arch linux.

  • Kris Gesling (07 Apr 22)

    Fix shellcheck error on Arch install command (#3092) Double quote to prevent globbing

  • Khionu Sybiern (07 Apr 22)

    Add pipewire check for Arch installs (#3091) Check if pipewire-pulse is installed, installs pulse otherwise ==== Fixed Issues ==== Partial fix: #2980 ==== Tech Notes ==== pipewire-pulse is a compat layer, providing a pulseaudio API

  • Åke (07 Apr 22)

    Shellcheck scripts in root folder (#3090) * Fix Shellcheck: Add -r flag to read read will mangle backslashes without it. These are not expected characters so not explicitly necessary, but also won't hurt. * Fix Shellcheck SC2086: Double quote variables * Fix Shellcheck SC2004: dollar sign unnecessary on arithmetic vars * Fix Shellcheck SC2129: use curly braces to >> file * Disable shellcheck on sourced venv/bin/activate * Fix Shellcheck SC1004 Simplify sed-expression to be a single line only removing the need for the offending / and linefeed * Fix Shellcheck SC2046 when finding repo root Splits the check into to files to be able to quote the expressions in a good way. * Fix Shellcheck SC2086 Unquoted apt packagaes This converts the variable APT_PACKAGE_LIST from a string to an array. This is a safer way to handle arguments according to BashFAQ ( * Fix Shellcheck SC2230 by changing which to command -v * CICD: Activate shellcheck job for * Shellcheck This fixes the following shellcheck issues: - -- Use 'cd ... || exit' or 'cd ... |... - -- Quote to prevent word splitting/g... - -- Double quote to prevent globbing ... - -- Assigning an array to a string! A... The command is added to the CICD run of shellcheck * Shellcheck Fixes the following issues: - -- Use 'cd ... || exit' or 'cd ... |... - -- Double quote to prevent globbing ... The file is now automatically checked by the CICD job * Shellcheck Fix the following shellcheck issues: - -- Double quote array expansions to ... - -- Argument mixes string and array. ... - -- Expanding an array without an ind... - -- This expands when defined, not wh... - -- Declare and assign separately to ... The help for invalid arg now works when the faulty argument isn't the first argument Co-authored-by: Kris Gesling <[email protected]>

  • fsa317 (23 Mar 22)

    Issue-3006 replaced hot_words with hotwords to correctly lookup configuration (#3088)

  • Kris Gesling (22 Mar 22)

    Remove skills dir symlink on --clean (#3086) * Remove skills dir symlink on --clean * Add note on --clean about files not removed

  • Åke (07 Mar 22)

    Don't overwrite invalid json in config (#2881) * Separate tests of LocalConf into new test class * Do not overwrite configs with malformed json If a config file is loaded and is invalid saves to that file will not be possible until it's manually restored. The store accepts a force flag to override this protection. The method returns True if the store succeeded so call sites can verbally report the issue as well.

  • Åke (02 Mar 22)

    Merge pull request #3082 from MycroftAI/refactor/python-detect Send python version detection output to /dev/null

  • Kris Gesling (02 Mar 22)

    Send python version detection output to /dev/null

  • Åke (02 Mar 22)

    TTS playback queue singleton (#3055) * fix issues when remote excepts out * Remove explicit clear_cache from MimicTTS * Updates for using singleton TTS playback thread - Cache is called on all tts's registered as using the thread - Begin audio and end audio is handled by the playback thread - Further changes from self.playback to TTS.playback for consistency * Remove redundant try/except * Consolidate general and TTS-specific sentence splitting This performs all sentence-splitting at the same stage. This fixes a subtle issue where a TTS splits a sentence into chunks and throws an error on only one of those chunks. The fallback would generate a sentence for the original un-chunked sentence. possibly saying the same parts twice. This also pre-compiles the regexes used to speed things up a bit. Co-authored-by: Ken <[email protected]>

  • Kris Gesling (28 Feb 22)

    Remove inflection dependency (#3031) The dependency was being used for a single string operation that is easily replaced.

  • Kris Gesling (28 Feb 22)

    Bump requests to remove GPL from dependency tree (#3081) Versions prior to 2.26.0 used a GPL licensed package Chardet. This has been replaced with charset_normalizer (MIT license).

  • Åke (28 Feb 22)

    Merge pull request #3080 from MycroftAI/bugfix/pip-install Fix pip url for Python > 3.6

  • Daniel McKnight (28 Feb 22)

    Add `supported_languages` parameter to STT and TTS base classes (#3059) * Add `supported_languages` parameter to STT and TTS base classes * Refactor `supported_languages` to `available_languages` and updated docstring to be more precise

  • Åke (28 Feb 22)

    Shellcheck scripts folder (#3063) * Remove unused scripts install-pocketsphinx and install-pygtk is no longer used by the dev-setup. * Fix shellcheck issues in scripts * Remove space in cores argument * Update script - Make it use the new method to activate venv if needed - Improve requirements.txt parsing - Update process detection from old "screen" setup - Update log-files paths - Fix finding mycroft-core folder * Fix shellcheck issues in Mainly quoting but also unpacking of arguments and improving some if statements * Update shellcheck test to include scripts folder

  • Kris Gesling (23 Feb 22)

    Remove mplayer audioservice It is no longer supported by the projects maintainer.

  • Kris Gesling (28 Feb 22)

    Fix pip url for Python > 3.6

Mycroft Website


Mycroft Mark II - Mycroft Mark II

Congratulations on getting a new Mark II.


Does not redirect

Security Checks

1 security checks failed (65 passed)

  • Robots Noindex

Server Details

  • IP Address
  • Location San Francisco, California, United States of America, NA
  • ISP CloudFlare Inc.
  • ASN AS13335

Associated Countries

  • US

Saftey Score

Website marked as moderately safe


Blacklist Check was found on 0 blacklists

  • ThreatLog
  • OpenPhish
  • PhishTank
  • Phishing.Database
  • PhishStats
  • URLhaus
  • RPiList Not Serious
  • AntiSocial Blacklist
  • PhishFeed
  • NABP Not Recommended Sites
  • Spam404
  • CRDF
  • Artists Against 419
  • CERT Polska
  • PetScams
  • Suspicious Hosting IP
  • Phishunt
  • CoinBlockerLists
  • MetaMask EthPhishing
  • EtherScamDB
  • EtherAddressLookup
  • ViriBack C2 Tracker
  • Bambenek Consulting
  • Badbitcoin
  • SecureReload Phishing List
  • Fake Website Buster
  • TweetFeed
  • CryptoScamDB
  • StopGunScams
  • ThreatFox
  • PhishFort

Website Preview

Mycroft Reviews

More Voice Assistants

About the Data: Mycroft


You can access Mycroft's data programmatically via our API. Simply make a GET request to:

The REST API is free, no-auth and CORS-enabled. To learn more, view the Swagger Docs or read the API Usage Guide.

About the Data

Beyond the user-submitted YAML you see above, we also augment each listing with additional data dynamically fetched from several sources. To learn more about where the rest of data included in this page comes from, and how it is computed, see the About the Data section of our About page.

Share Mycroft

Help your friends compare Voice Assistants, and pick privacy-respecting software and services.
Share Mycroft and Awesome Privacy with your network!

View Voice Assistants (2)