About AI
AI is a collection of artificial intelligence capabilities built on Nasdanika resource sets and interconnected models. It covers narration, embeddings, vector search and chat, with semantic search and RAG able to account for model graph relationships.
Key features
- 01Narration of model elements and relationships
- 02OpenAI and Ollama embeddings
- 03Vector store support
- 04Semantic search with graph distance
- 05Chat completions and CLI
- 06Embedding and vector-store generators
Use cases
- 01Explain relationships in a model
- 02Build RAG from model descriptions
- 03Search with semantic and graph distance
- 04Chat with a site or a model
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEAI
Things related to artificial intelligence operating on top of other Nasdanika capabilities. Specifically, operating on top of resource sets - collections of interconnected models. Models and resource sets abstract AI components from low level implementation details.
"Narrator" processors which describe model elements and their relationships in multiple ways. For example, in the sample family the model with derived relationships and capability-based reasoning can be used to explain that:
- Paul is a parent of Lea
- Paul is a father of Lea
- Lea is a child of Paul
- Lea is a daughter of Paul
- Elias is a sibling of Lea
- Elias is a brother of Lea
- ...
Also, using EObject -> EClass relationship it may be explained that Lea is a woman and then a definition of a woman from the metamodel can be given.
This text can be added to Lea's description. Then the resulting text can be chunked, embedings can be generated and added to a vector store. This can be used for semantic search and RAG which takes not only semantic distance, but also graph distance into account.
For example, for a question/chat in Dave's context semantic matches from Elias would have higher weight/smaller distance than matches from Paul.
Key components:
- Embeddings - from OpenAI and Ollams
- Vector store - https://github.com/jelmerk/hnswlib. Observations from a local computer:
- ~ 10 minutes to load 200K vectors from https://dl.fbaipublicfiles.com/fasttext/vectors-crawl/cc.en.300.vec.gz previously downloaded
- ~ 2.5 Gb index file
- ~ 90 sec to load index from the file
- Chat completions
- CLI
- Vector store mixin
- Embeddings generator for search-documents.json
- Vector store generator from search-documents.json with embeddings or not. Brand-new or add/update existing
- Semantic search HTTP Server routes
- Chat Vuejs component - adapt https://medium.com/@alen.ajam/building-a-simple-chat-app-with-vue-js-462c4a53c6ad
- Chatting with a site - serve both a static site and semantic search command, OpenAI and Ollama. Docker on a GCP VM.
- Chatting with a model
Later maybe agents based on the Invocation flow.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.