Skip to main content

TypeScript Voice Assistant MCP Server - Learn TypeScript chatting effortlessly with AI

Project description

TySVA - TypeScript Voice Assistant🪄

Learn TypeScript chatting effortlessly with AI

If you find TySVA userful, please consider to donate and support the project:

GitHub Sponsors Badge

TySVA Logo

TySVA is aimed at creating a learning space for you to get to know more about TypeScript, leveraging:

  • Qdrant local database, with the full documentation for TypeScript
  • LinkUp, for web deep search
  • MCP servers, for vector search and web search automation
  • ElevenLabs, for voice input transcription and voice output generation
  • LlamaIndex, for agent workflows

It supports voice input/output, as well as textual input/output.

Install and launch🚀

The first step, common to both the Docker and the source code setup approaches, is to clone the repository and access it:

git clone https://github.com/AstraBert/TySVA.git
cd TySVA

Once there, you can choose one of the two following approaches:

Docker (recommended)🐋

Required: Docker and docker compose

mv .env.example .env
  • Launch the Docker application:
# If you are on Linux/macOS
bash start_services.sh
# If you are on Windows
.\start_services.ps1
  • Or do it manually:
docker compose up vector_db -d
docker compose up mcp -d
docker compose up app -d

You will see the application running on http://localhost:7999/app and you will be able to use it. Depending on your connection and on your hardware, the set up might take some time (up to 15 mins to set up) - but this is only for the first time your run it!

Source code🗎

Required: Docker, docker compose and conda

mv .env.example scripts/.env
  • Set up the conda environment and the vector database using the dedicated script:
# For MacOs/Linux users
bash setup.sh
# For Windows users
.\setup.ps1
  • Or you can do it manually, if you prefer:
docker compose up vector_db -d

conda env create -f environment.yml
  • Now you can launch the script to load TypeScript documentation to the vector database:
conda activate typescript-assistant-voice
python3 scripts/data.py
  • And, when you're done, launch the MCP server:
conda activate typescript-assistant-voice
cd scripts
python3 server.py
  • Now open another terminal, and run the application:
uvicorn app:app --host 0.0.0.0 --port 7999

You will see the application running on http://localhost:7999/app and you will be able to use it.

Workflow

workflow

The workflow is very simple:

  • When you submit a request, if is audio, it gets transcribed and then submitted to the agent workflow as a starting prompt, whereas if it is textual it will be submitted directly to the agent workflow
  • The agent workflow can solve the TypeScript answer by retrieving documents from the vector database or by searching the web. There is also the possibility of a direct response (no tool use) if the answer is simple. All the tools are available through MCP.
  • Once the agent is done, the agentic process and the output get summarized, and the summaries are turned into voice output. The voice output is returned along with the textual output by the agent.

Contributing

Contributions are always welcome! Follow the contributions guidelines reported here.

License and rights of usage

The software is provided under MIT license.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_astrabert_tysva-0.1.4.tar.gz (5.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iflow_mcp_astrabert_tysva-0.1.4-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file iflow_mcp_astrabert_tysva-0.1.4.tar.gz.

File metadata

  • Download URL: iflow_mcp_astrabert_tysva-0.1.4.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_astrabert_tysva-0.1.4.tar.gz
Algorithm Hash digest
SHA256 86da07439af3a6e2ea7e7c495d6ba19a86e96a19db8e52164b9589137310dc2e
MD5 79b8cdd13b00f009a181fdcb13f2b005
BLAKE2b-256 d18643d2f50c0b424cb388d2635472cebdf915d0a1aea43707c1a49d53916359

See more details on using hashes here.

File details

Details for the file iflow_mcp_astrabert_tysva-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: iflow_mcp_astrabert_tysva-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 6.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.0 {"installer":{"name":"uv","version":"0.10.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for iflow_mcp_astrabert_tysva-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 80b2edff043d31db5f2935bd52b82ed993bfda190cdca35773c54b554aa7e898
MD5 c954ce96ffc3ef0d9b0a203c2d9ed85d
BLAKE2b-256 e7634bf4ce5e0c81d59e0135c52320cfd9873813ce9797151ae1efef1c9af6e7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page