Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Sources

Repositories, Apps, Prompts, Templates & MCP Servers


Sources Interface

Overview

Sources is where you connect everything your bot can reference. Add Git repositories, manage generated apps, configure prompts, and connect MCP servers. Most importantly, Sources enables @mentions in chat—reference @botserver to work on a repository or @myapp to modify an app you created.


Tabs

TabWhat It Contains
RepositoriesGit repos (GitHub, GitLab, Bitbucket)
AppsHTMX apps created with CREATE SITE
PromptsSystem prompts and templates
TemplatesBot packages (.gbai)
NewsPlatform updates and announcements
MCP ServersModel Context Protocol servers
LLM ToolsAvailable LLM-invokable tools
ModelsConfigured AI models

Repositories

Connect Git repositories so Tasks can read, modify, and commit code.

Adding a Repository

  1. Click + Add Repository
  2. Enter the repository URL (HTTPS or SSH)
  3. Authenticate if private
  4. Click Connect

Repository Card

Each connected repository shows:

FieldDescription
NameRepository name with @mention tag
OwnerOrganization or user
DescriptionFrom repository README
LanguagePrimary programming language
Stars/ForksGitHub metrics
StatusConnected or disconnected

Using @mentions with Repositories

In chat, type @ followed by the repo name:

You: @botserver add error handling to the login function

Bot: I'll modify botserver. Looking at the login function...
     [Task created: Add error handling to login]

The system will:

  1. Clone or pull the latest code
  2. Analyze the relevant files
  3. Make the requested changes
  4. Create a commit or pull request

Repository Actions

ActionDescription
BrowseView files and folders
MentionInsert @repo into chat
DisconnectRemove from Sources
SettingsConfigure branch, credentials

Apps

Apps are HTMX applications created with CREATE SITE. They appear here automatically.

App Card

Each app shows:

FieldDescription
NameApp name with @mention tag
TypeHTMX, Dashboard, Site
DescriptionGenerated from creation prompt
URLLive endpoint (e.g., /crm)
CreatedWhen the app was generated

Using @mentions with Apps

Reference apps to modify them:

You: @crm change the submit button to green

Bot: I'll update the CRM app. Modifying the button styles...
     [Task created: Change submit button color]
You: @dashboard add a new KPI card for monthly revenue

Bot: I'll add that to your dashboard. Creating the KPI card...
     [Task created: Add monthly revenue KPI]

App Actions

ActionDescription
OpenView app in new tab
EditOpen Tasks with app context
MentionInsert @app into chat
DeleteRemove app and files

@Mention Autocomplete

When typing in chat, @ triggers autocomplete:

  1. Type @ to see suggestions
  2. Continue typing to filter (e.g., @bot shows @botserver, @botui)
  3. Press Enter or Tab to select
  4. Press Escape to cancel

Mention Types

TypeIconExample
RepositoryGit icon@botserver
AppGrid icon@mycrm

Context for Tasks

When you mention a source, it becomes context for the task:

You: @botserver @botui make the API response format consistent

Bot: I'll update both repositories to use consistent response formats.
     [Task created with context: botserver, botui]

Without explicit mentions, Tasks uses recent context or asks for clarification.


Prompts

System prompts define bot personality and behavior.

Prompt Categories

CategoryPurpose
AssistantsRole-specific personas
ToolsTool descriptions for LLM
PersonasBot personality definitions
CustomYour own prompts

Creating a Prompt

  1. Click + New Prompt
  2. Enter name and category
  3. Write prompt content
  4. Use {{variables}} for dynamic values
  5. Click Save

Prompt Actions

ActionDescription
UseApply to current session
CopyCopy to clipboard
SaveAdd to collection
EditModify content

Templates

Bot packages ready to deploy.

Available Templates

TemplateDescription
CRMCustomer relationship management
SupportHelpdesk and ticketing
AnalyticsDashboards and reports
ComplianceLGPD, GDPR, HIPAA

Installing a Template

  1. Click on template card
  2. Review contents
  3. Click Install
  4. Configure settings
  5. Bot is ready

MCP Servers

Model Context Protocol servers extend bot capabilities. MCP servers are configured via mcp.csv in the bot’s .gbai folder, making their tools available to Tasks just like BASIC keywords.

The mcp.csv File

MCP servers are configured by adding entries to mcp.csv in your bot’s .gbai folder:

mybot.gbai/
├── mybot.gbdialog/     # BASIC scripts
├── mybot.gbdrive/      # Files and documents
├── config.csv          # Bot configuration
├── attendant.csv       # Attendant configuration
└── mcp.csv             # MCP server definitions

When botserver starts, it reads the mcp.csv file and loads all server configurations.

Server Card

FieldDescription
NameServer identifier (used for USE MCP calls)
Typefilesystem, github, database, slack, etc.
StatusActive, Inactive, Error
ToolsAvailable tools count
Source“directory” (from .gbmcp)

mcp.csv Format

The CSV file has the following columns:

ColumnRequiredDescription
nameYesUnique server identifier
typeYesConnection type: stdio, http, websocket, tcp
commandYesFor stdio: command. For http/ws: URL
argsNoCommand arguments (space-separated)
descriptionNoHuman-readable description
enabledNotrue or false (default: true)
auth_typeNonone, api_key, bearer
auth_envNoEnvironment variable for auth

Example mcp.csv

name,type,command,args,description,enabled
# MCP Server Configuration - lines starting with # are comments
filesystem,stdio,npx,"-y @modelcontextprotocol/server-filesystem /data",Access local files,true
github,stdio,npx,"-y @modelcontextprotocol/server-github",GitHub API,true,bearer,GITHUB_TOKEN
postgres,stdio,npx,"-y @modelcontextprotocol/server-postgres",Database queries,false
slack,stdio,npx,"-y @modelcontextprotocol/server-slack",Slack messaging,true,bearer,SLACK_BOT_TOKEN
myapi,http,https://api.example.com/mcp,,Custom API,true,api_key,MY_API_KEY

Adding an MCP Server

Method 1: Via UI

  1. Click + Add Server
  2. Enter server details
  3. Configure connection type (stdio, http, websocket)
  4. Test connection
  5. Click Save

Method 2: Via mcp.csv

  1. Open mcp.csv in your .gbai folder
  2. Add a new line with server configuration
  3. Restart bot or click 🔄 Reload in Sources UI
  4. Server appears automatically

Using MCP Tools in BASIC

' Read a file using filesystem MCP server
content = USE MCP "filesystem", "read_file", {"path": "/data/config.json"}

' Query database
results = USE MCP "postgres", "query", {"sql": "SELECT * FROM users"}

' Send Slack message
USE MCP "slack", "send_message", {"channel": "#general", "text": "Hello!"}

Connection Types

TypeDescription
stdioLocal process (npx, node, python)
httpREST API endpoint
websocketWebSocket connection
tcpRaw TCP socket
ServerPackageDescription
Filesystem@modelcontextprotocol/server-filesystemFile operations
GitHub@modelcontextprotocol/server-githubGitHub API
PostgreSQL@modelcontextprotocol/server-postgresDatabase queries
Slack@modelcontextprotocol/server-slackMessaging

See USE MCP for complete documentation.


LLM Tools

Tools that the LLM can invoke during conversations.

Tool Sources

SourceDescription
Built-inCore BASIC keywords
MCPFrom connected MCP servers
CustomYour .bas files with DESCRIPTION

Tool Card

FieldDescription
NameTool identifier
DescriptionWhat it does
ParametersRequired inputs
SourceWhere it comes from

Models

Configured AI models for the platform.

Model Card

FieldDescription
NameModel identifier
ProviderOpenAI, Anthropic, Local, etc.
StatusActive, coming soon
TagsCapabilities (chat, code, vision)

Supported Providers

ProviderModels
OpenAIGPT-4, GPT-4o
AnthropicClaude Sonnet 4.5, Claude Opus 4
Localllama.cpp GGUF models
AzureAzure OpenAI deployments

Use the search box to find across all source types:

  • Type to search by name
  • Results update as you type
  • Press Enter to search
  • Press Escape to clear

Keyboard Shortcuts

ShortcutAction
Ctrl+KFocus search
1-6Switch tabs
EscapeClose modal
EnterOpen selected

BASIC Integration

List Repositories

repos = GET REPOSITORIES
FOR EACH repo IN repos
    TALK repo.name + " - " + repo.description
NEXT

List Apps

apps = GET APPS
FOR EACH app IN apps
    TALK app.name + " at /" + app.url
NEXT

Get Task Context

' Get sources mentioned in current conversation
context = GET TASK CONTEXT
FOR EACH source IN context
    TALK "Working with: @" + source.name
NEXT

See Also