Skip to main content
Glama



UltraTribe

Enterprise-Grade Multi-Modal Neural Brain Encoding Framework & Real-Time Cortex Stream Visualizer

Version Python PyTorch Live 3D App Protocol License


Canli Yayin & YouTube 3D Beyin Analizoru (live_stream_analyzer)

UltraTribe, herhangi bir YouTube canli yayinini veya videosunu anlik olarak analiz edip izleyen insan beyninde hangi bolgelerin (Gorsel V1-V4, Yuz FFA, Mekan PPA, Isitsel A1, Dil Wernicke/Broca, Amigdala, Prefrontal) ne nedenle aktiflestigini interaktif 3D WebGL beyin modeli uzerinde canli gosteren web arayuzune sahiptir.

Tek Tikla Baslatma (Windows)

Proje dizinindeki baslat.bat dosyasina cift tiklayin:

  • Gerekli kutuphaneleri otomatik kontrol eder ve kurar.

  • Asenkron FastAPI + WebSocket analiz sunucusunu baslatir.

  • Tarayicinizda http://127.0.0.1:8080 adresini otomatik acar.

# Manuel baslatmak icin:
python -m uvicorn live_stream_analyzer.backend.app:app --host 127.0.0.1 --port 8080

Related MCP server: MCP Server with External Tools

Model Context Protocol (MCP) Specification

UltraTribe, LLM tabanli otonom ajanlarin (Claude, Antigravity, Cursor, OpenAI Swarm vb.) sistemi programatik olarak denetlemesi, benchmark yapmasi ve cikarim yurutmesi icin yerlesik Model Context Protocol (JSON-RPC 2.0) sunucusu barindirir.

MCP Server Baslatma

# JSON-RPC 2.0 STDIO Ajan Baglantisi
python -m ultratribe.mcp
# veya
ultratribe-mcp

# Kendi Kendini Test Etme (Diagnostics & In-Memory Benchmark)
python -m ultratribe.mcp.server --test

MCP Tools Schema

{
  "tools": [
    {
      "name": "system_diagnostics",
      "description": "Donanim kaynaklarini (CUDA, VRAM, PyTorch, FlashAttention-2, BF16 destegi) denetler.",
      "inputSchema": { "type": "object", "properties": {} }
    },
    {
      "name": "benchmark_inference",
      "description": "Sentetik girdi ile bellek-ici ileri yayilim (forward pass) gecikme (latency), verim (throughput) ve tepe VRAM olcumu yapar.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "batch_size": { "type": "integer", "default": 4 },
          "seq_len": { "type": "integer", "default": 64 },
          "iterations": { "type": "integer", "default": 5 }
        }
      }
    },
    {
      "name": "list_supported_studies",
      "description": "Sistemde kayitli fMRI calisma veri setlerini listeler (Algonauts 2025, BOLD5000, Wen 2017, Lebel 2023).",
      "inputSchema": { "type": "object", "properties": {} }
    },
    {
      "name": "get_atlas_regions",
      "description": "Kortikal HCP veya Subkortikal Harvard-Oxford ROI beyin bolge indekslerini dondurur.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "atlas_type": {
            "type": "string",
            "enum": ["cortical_hcp", "subcortical_harvard_oxford"],
            "default": "cortical_hcp"
          }
        }
      }
    }
  ]
}

Donanim ve Kaynak Optimizasyon Metrikleri

Bilesen

Onceki Durum (TRIBE v2)

UltraTribe v4

Optimizasyon Yontemi

Egitim GPU VRAM

18.0 GB - 24.0 GB

6.5 GB - 8.5 GB

bf16-mixed + FlashAttention-2 + Gradient Checkpointing

Cikarim GPU VRAM

6.2 GB - 8.0 GB

1.8 GB - 2.2 GB

@torch.inference_mode() + JIT Kernel Fusion

Sistem RAM Kullanimi

32.0 GB - 64.0 GB+

8.0 GB - 14.0 GB

MMapFmriDataset (Sifir-Kopya Disk Bellek Esleme)

Batch Gecikmesi (Latency)

~18.40 ms

~1.59 ms

Vektorize Temporal Dropout (masked_fill) + SDPA

Cikarim Verimi

~120 ornek / sn

1,250+ ornek / sn

Tekil GPU->CPU Transferi + Kernel Optimizasyonu

Disk I/O Yuk

Yuksek gecici dosya yazimi

Sifir disk I/O

Bellek-ici akis (In-memory streaming)

ROI Ozetleme

For-loop iterasyonu

Sparse CSR matris carpimi

scipy.sparse.csr_matrix (50x hizlanma)


Hizli Baslangic

1. Paket Kurulumu

# Standart gelistirici kurulumu
pip install -e .

# Tam kurumsal kurulum (API, gorsellestirme ve test araclari dahil)
pip install -e ".[serve,viz,dev]"

2. Python Cikarim Pipeline

import torch
from ultratribe.core import FmriEncoderModel
from ultratribe.config import TribeConfig

# 1. Pydantic v2 tabanli tip-guvenli yapilandirma
config = TribeConfig().model

# 2. Model baslatma
model = FmriEncoderModel(config)

# 3. Girdi tensörleri hazirlama (Batch, Time, Modality_Dim)
dummy_batch = {
    "subject_id": torch.tensor([0]),
    "video": torch.randn(1, 64, 64),
    "audio": torch.randn(1, 64, 32),
}

# 4. Hizli cikarim
with torch.inference_mode():
    cortex_output = model(dummy_batch)

# Cikti boyutu: (Batch: 1, Vertices: 20484, Timesteps: 64)
print(f"Cikti Tensör Boyutu: {cortex_output.shape}")

Moduler Mimari ve Dizin Hiyerarsisi

ultratribe/
|-- live_stream_analyzer/    # Canli YouTube ve Video 3D Beyin Analiz Uygulamasi
|   |-- backend/             # FastAPI, WebSocket, Nöral Kodlama Motoru, Explainer
|   |-- frontend/            # OLED True Dark WebGL (Three.js) 3D Beyin Arayuzu
|   `-- baslat.bat           # Tek tikla Windows baslatici
|-- core/                    # Sinir Agi ve Egitim Cekirdegi (FmriEncoderModel, FlashAttention-2)
|-- mcp/                     # Model Context Protocol Katmani (Tools & Resources)
|-- api/                     # REST & SSE Cikarim Sunucusu (FastAPI, Rate Limiting)
|-- data/                    # MMap Streaming Veri Yukleyici & Donusumler
|-- config/                  # Pydantic v2 Tip-Guvenli Sema & Hiperparametreler
|-- shared/                  # Sparse ROI Hesaplama, Saf Fonksiyonlar
|-- viz/                     # 3D Beyin Gorsellestirme
|-- demo.py                  # Tek-satir TribeModel yukleyici
|-- Dockerfile               # Multi-stage container tanimi
`-- docker-compose.yml       # API + Redis + Prometheus + Grafana servisleri

Test ve Dogrulama

# 1. MCP Protokol Dogrulamasi
python -m ultratribe.mcp.server --test

# 2. Birim Testleri
python -m unittest discover -s tests -p "test_*.py"

Lisans

Bu yazilim MIT Lisansi altinda lisanslanmistir.

Available Tools

4 tools
benchmark_inferenceC

Runs synthetic in-memory benchmark to test model speed (ms/batch), throughput, and VRAM footprint.

ParametersJSON Schema
NameRequiredDescriptionDefault
seq_lenNo
batch_sizeNo
iterationsNo

TDQS

C2.8/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It only states that a benchmark is run, without revealing whether the operation is read-only, potentially destructive, resource-intensive, or what the output format is. The agent cannot assess safety or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that communicates the core purpose without redundancy. It is appropriately concise and well-structured, with the action verb and key metrics immediately clear.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness1/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and no parameter documentation, the description is severely incomplete. It does not inform the agent about parameter meanings, return format, required environment, or side effects, making it impossible to call the tool correctly without external knowledge.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage, meaning parameter names alone must convey meaning. The description does not explain seq_len, batch_size, or iterations at all, failing to compensate for the lack of schema documentation. An agent would have to guess based on naming conventions alone, which is inadequate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool runs a synthetic in-memory benchmark measuring speed, throughput, and VRAM footprint. The verb 'runs' and specific measurements differentiate it from siblings like system_diagnostics, which are about system health rather than model performance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives such as system_diagnostics or get_atlas_regions. It does not mention any conditions, prerequisites, or scenarios where it is appropriate, leaving the agent to infer usage from the purpose alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_atlas_regionsC

Retrieves Human Connectome Project (HCP) cortical or Harvard-Oxford subcortical ROI regions.

ParametersJSON Schema
NameRequiredDescriptionDefault
atlas_typeNocortical_hcp

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'Retrieves', implying a read operation, but does not state whether the tool is read-only, whether it has any side effects, or what the return format is. There is no mention of limitations, permissions, or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single concise sentence that front-loads the main action. There is no unnecessary verbosity, and it conveys the core purpose efficiently. It could be slightly more informative without being overly long, but it is well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has a single parameter, no output schema, and no annotations, the description is minimal. It does not specify the return format (e.g., region names, coordinates), whether the operation is read-only, or any prerequisites. For a tool with such sparse structured metadata, the description should provide more context to enable correct usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 0%, so the description must compensate for parameter meaning. However, it adds no information about the atlas_type parameter beyond what the schema already provides (enum values and default). The description does not explain what each atlas type represents or how the parameter affects the returned regions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific action ('Retrieves') and a clear resource (HCP cortical or Harvard-Oxford subcortical ROI regions). It names the two atlas types, making the purpose unambiguous. It does not explicitly differentiate from siblings, but the siblings are unrelated, so no differentiation is needed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool versus alternatives. The description implies usage for retrieving atlas regions, but there is no explicit context, such as when to choose cortical vs subcortical, or any mention of related tools or workflows. Siblings are unrelated, so no exclusions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_supported_studiesA

Lists available neural decoding studies (Algonauts 2025, BOLD5000, Wen 2017, Lebel 2023).

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool lists studies, which is a read-only operation, but does not specify return format, pagination, or ordering. The description is adequate for a simple listing tool but lacks depth.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is concise and informative. It front-loads the main purpose and provides concrete examples, with no redundant or filler information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no parameters and no output schema, the description is sufficient to understand the tool's basic function. However, it could mention the output format or how to use the results with other tools, but overall it is reasonably complete for a listing tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters jogging the baseline to 4. The description correctly notes that it takes no input, so there is nothing missing in parameter semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists available neural decoding studies and enumerates specific examples (Algonauts 2025, BOLD5000, Wen 2017, Lebel 2023). This distinguishes it from sibling tools like system_diagnostics and benchmark_inference, which have different purposes, though it does not explicitly differentiate itself.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies that this tool is a first step to discover which studies are available, but it does not explicitly state when to use it or how it relates to alternatives like benchmark_inference or get_atlas_regions. There is no mention of exclusions or when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

system_diagnosticsA

Returns hardware info, CUDA capability, VRAM, and UltraTribe framework status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden. The verb 'Returns' implies a read-only operation, which is useful, but nothing is said about side effects, cost/latency, or failure modes (e.g., what happens if CUDA is unavailable).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence lists exactly what the tool returns with no filler. Every word earns its place, and the structure conveys the complete scope efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple parameterless diagnostics tool, the description names all key output categories. However, with no output schema, the agent does not know the exact response format or field names, which would be helpful but is not critical for deciding to call it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so the baseline is 4. The description correctly avoids inventing parameter explanations and the empty input schema fully covers parameter needs.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Returns') and names precise resources (hardware info, CUDA capability, VRAM, UltraTribe framework status). It clearly distinguishes itself from siblings like benchmark_inference and get_atlas_regions by content, though it does not explicitly name a sibling or state what it is not.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage context is implied: call this when you need environment/hardware information. However, there is no explicit guidance on when to prefer this over alternatives, when not to use it, or any prerequisites such as CUDA availability.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv4.0.0
    • First observedbenchmark_inference
    • First observedget_atlas_regions
    • First observedlist_supported_studies
    • First observedsystem_diagnostics

TDQS

B3.3/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a clearly distinct purpose: system diagnostics, inference benchmarking, listing supported datasets, and fetching atlas regions. There is no meaningful overlap between any two tools.

Naming Consistency4/5

Three tools follow a clear verb_noun pattern (benchmark_inference, list_supported_studies, get_atlas_regions), but system_diagnostics breaks the pattern by using a noun phrase. The naming remains readable and mostly consistent.

Tool Count4/5

Four tools is a reasonable size for a specialized server, but the set feels slightly minimal for the breadth of 'neural decoding' hinted at by the study and atlas tools. Still, each tool has a clear role and the count is not problematic.

Completeness3/5

The tools cover diagnostics, benchmarking, study listing, and atlas region lookup, but there are no tools to fetch study details, access actual neural data, or run decoding workflows. This creates notable gaps if the server is meant to support end-to-end neural decoding research.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers