EEG is now an Ai-Media company, bringing leading, vertically-integrated solutions and services to customers around the world. Read more here.


Lexi MOS Protocol Client

Last Updated August 31, 2020

The Lexi MOS Client Module uses the MOS Protocol to obtain transcripts from a newsroom system and uploads the transcripts to EEG Cloud for use in one or more Lexi topic models.The module is available for HD492 and EN537 encoders.


  • Enable Module -- This will activate and deactivate our MOS server. In order to receive stories, this setting needs to be "Enable"
  • Topic Models To Update -- This multiselect window (ctrl + click or shift + click to select multiple items) determines which Lexi topic models will be updated with the stories received. No models will appear unless the user has configured their EEGCloud username-password API key in the Lexi module window.
  • MOS Device ID -- This is an identifier that is used to pick out our MOS device in the MOS protocol ecosystem. It defaults to "lexi_mos_encoder_module" but can be changed; this is the name that should be used in the NCS software when configuring our device to receive stories.
  • MOS Lower Port MOS Upper Port -- MOS Protocol communcations between NCS and MOS devices involve two concurrent conversations: ones where the NCS queries commands the MOS device and receives its responses, and vice versa. The former (NCS-initiates-to-MOS) conversation occurs on the defined Upper Port, while the latter (MOS-initiates-to-NCS) happens on the Lower Port. The Protocol defines 10540 and 10541 to be the default values for the Lower and Upper Port, but the protocol also says that these numbers are installation-specific. The user most likely won't have to change these settings, but naturally if the wrong ports are used the messages will not be properly exchanged.

Status reporting

  • Lexi Configured -- This indicates whether the EEGCloud credentials on the Lexi page were valid. If this value is not "true", then stories won't be uploaded to topic models. If the MOS device is enabled, however, stories will still be received and logged by our server.
  • NCS Device -- This two-columned field will be populated by the IP address and device ID of the NCS device communicating with our server.
  • Last Story Upload Time/ID/Slug -- The last story uploaded to Lexi; the ID is the unique ID of the story object within the MOS ecosystem. The slug is the human-friendly name for the story.

Configuring the NCS system

NCS configuration will vary depending upon the NCS software.


One-time setup:

  1. From the "Home" tab on the main ENPS window, open "Apps" and click "System Maintenance".
  2. On the "MOS Configuration" tab, click "Add new row".
  3. For the "Address", put the MOS Device ID as configured on the settings page of the Lexi MOS Encoder Module. Add a description. For IP, put the IP address of the encoder. For MOS version, choose 2.8.4.
  4. Scroll to the right and check the box that says "Story Send". If this box is not checked, it will not be possible to send stories to the encoder.
  5. Save the settings and close the System Maintenance window.
  6. On the "Groups" tab under the "MOS Include" column, add the MOS Device ID as configured on the settings page of the Lexi MOS Encoder Module to the list of included MOS devices.
  7. Save and exit

For a rundown:

  1. Under the "Production" tab on the top ribbon, click "MOS Story Send". If the encoder was properly added to the System Maintenance MOS configuration as described above, there should be a checkbox for the encoder. Check the box and close the Story Send tab.

Sending stories to the EEG encoder:

  1. When ready to send the stories belonging to the rundown, click the "MOS Control Active" button.
  2. Click the MOS Story Send button again.

Other NCS software :

  • Register the EEG encoder as you would register any other MOS device.


  1. What MOS protocol version does the encoder client support? v2.8.4
  2. If I update a story and resend it, what will happen? The stories are uploaded to the custom models by their slugs. Reuploading a story, assuming its slug hasn't changed, will cause the old version of the story to be overwritten. Of note, if multiple stories have the same slug, then only the most recent one will be stored by Lexi.
  3. Can I create a new model for each rundown, or upload specific rundowns/stories to specific models? Not currently; we are looking into whether adding this feature makes sense for model training. New models can currenlty only be created by using EEGCloud.TV, and all stories received will be uploaded to all of the selected models.