This app demonstrates use of MCP server and client in a local model chat via Ollama that incorporates web search via Serper.
Drift inferred · capture-to-capture
No drift recorded — single capability capture; advisories appear once its surface changes.
transport stdio · http counts 61 tools · 0 res
· 0 prompts
permission surface via code analysis
tools
-
autofill_design
-
cancel_codex_run
-
check_missing_values
-
cleanup_expired_workspaces
-
cleanup_workspace
-
convert_data_types
-
create_design
-
create_hubspot_marketing_email
-
create_plot
-
create_workspace
-
detect_outliers
-
drop_columns
-
execute_sql_query_tool
-
export_design
-
fetch_url
-
figma_export_images
-
figma_get_comments
-
figma_get_design_system
-
figma_get_file
-
figma_get_nodes
-
figma_post_comment
-
filter_dataframe
-
get_brand_template_dataset
-
get_codex_run
-
get_correlation_matrix
-
get_data_info
-
get_descriptive_statistics
-
get_design
-
get_design_pages
-
get_head
-
get_manifest
-
get_system_health
-
get_value_counts
-
get_youtube_transcript
-
group_and_aggregate
-
handle_missing_values
-
image_search
-
import_design
-
list_designs
-
list_dir
-
load_csv
-
news_search
-
perform_hypothesis_test
-
poe_chat
-
poe_generate_audio
-
poe_generate_image
-
poe_generate_video
-
poe_list_models
-
query_dataframe
-
read_file
-
read_log
-
read_workspace_file
-
rename_columns
-
resize_design
-
run_codex_task
-
service_status
-
smart_search_extract
-
start_codex_run
-
update_hubspot_marketing_email
-
upload_asset
-
web_search
evidence-backed
findings quoted directly from the published source artifact — not inferred
code files: 178
filesystem 19
- fs redbuilding-osoba-9f74232/backend/api/artifacts.py :98
from pathlib import Path as _P - fs redbuilding-osoba-9f74232/backend/db/document_store.py :6
from pathlib import Path - fs redbuilding-osoba-9f74232/backend/db/vector_memory.py :6
from pathlib import Path - fs redbuilding-osoba-9f74232/backend/server_cli.py :17
import shutil - fs redbuilding-osoba-9f74232/backend/server_codex.py :28
import shutil - fs redbuilding-osoba-9f74232/backend/server_youtube.py :96
os.remove(filepath) - fs redbuilding-osoba-9f74232/backend/services/artifact_service.py :7
from pathlib import Path - fs redbuilding-osoba-9f74232/backend/services/chat_service.py :815
from pathlib import Path - fs redbuilding-osoba-9f74232/backend/services/context_gatherer.py :14
from pathlib import Path - fs redbuilding-osoba-9f74232/backend/services/document_parser.py :107
with pdfplumber.open(io.BytesIO(content_bytes)) as pdf: - fs redbuilding-osoba-9f74232/backend/services/heartbeat_file_parser.py :9
from pathlib import Path - fs redbuilding-osoba-9f74232/backend/services/render_service.py :6
from pathlib import Path - fs (weak) redbuilding-osoba-9f74232/backend/tests/test_artifacts_api.py :2
from pathlib import Path - fs (weak) redbuilding-osoba-9f74232/backend/tests/test_canva_mcp.py :14
from pathlib import Path - fs (weak) redbuilding-osoba-9f74232/backend/tests/test_cli_server.py :12
from pathlib import Path - fs (weak) redbuilding-osoba-9f74232/backend/tests/test_enhanced_heartbeat.py :10
from pathlib import Path - fs (weak) redbuilding-osoba-9f74232/backend/tests/test_figma_mcp.py :14
from pathlib import Path - fs (weak) redbuilding-osoba-9f74232/backend/tests/test_poe_mcp.py :14
from pathlib import Path - fs (weak) redbuilding-osoba-9f74232/backend/tests/test_server_codex.py :5
import shutil
shell / exec 6
- shell redbuilding-osoba-9f74232/backend/server_cli.py :18
import subprocess - shell redbuilding-osoba-9f74232/backend/server_codex.py :29
import subprocess - shell redbuilding-osoba-9f74232/backend/services/context_gatherer.py :12
import subprocess - shell (weak) redbuilding-osoba-9f74232/backend/tests/test_cli_server.py :245
import subprocess - shell (weak) redbuilding-osoba-9f74232/backend/tests/test_security_fixes.py :73
ok, err = validate_query_expression("os.system('id')") - shell (weak) redbuilding-osoba-9f74232/backend/tests/test_server_codex.py :6
import subprocess
network 14
- net redbuilding-osoba-9f74232/backend/auth.py :4
import httpx - net redbuilding-osoba-9f74232/backend/auth_hubspot.py :6
import httpx - net redbuilding-osoba-9f74232/backend/server_hubspot.py :2
import httpx - net redbuilding-osoba-9f74232/backend/server_search.py :5
import httpx - net redbuilding-osoba-9f74232/backend/server_youtube.py :13
from urllib.parse import parse_qs, urlparse - net redbuilding-osoba-9f74232/backend/services/context_gatherer.py :187
import socket - net (weak) redbuilding-osoba-9f74232/backend/tests/test_canva_mcp.py :125
"""Build a mock httpx.Response that returns json_data.""" - net (weak) redbuilding-osoba-9f74232/backend/tests/test_figma_mcp.py :46
"""Build a mock httpx.Response that returns json_data.""" - net (weak) redbuilding-osoba-9f74232/backend/tests/test_poe_mcp.py :46
"""Build a mock httpx.Response that returns json_data.""" - net (weak) redbuilding-osoba-9f74232/backend/tests/test_smart_extraction.py :3
import httpx - net redbuilding-osoba-9f74232/backend/utils/canva_client.py :13
import httpx - net redbuilding-osoba-9f74232/backend/utils/figma_client.py :14
import httpx - net redbuilding-osoba-9f74232/backend/utils/poe_client.py :16
import httpx - net redbuilding-osoba-9f74232/backend/utils/web_fetcher.py :5
from urllib.robotparser import RobotFileParser
secrets 10
- secrets redbuilding-osoba-9f74232/backend/auth.py :10
HUBSPOT_CLIENT_SECRET = os.getenv('HUBSPOT_CLIENT_SECRET') - secrets redbuilding-osoba-9f74232/backend/auth_hubspot.py :17
HUBSPOT_CLIENT_SECRET = os.getenv('HUBSPOT_CLIENT_SECRET') - secrets redbuilding-osoba-9f74232/backend/db/settings_crud.py :12
ENCRYPTION_KEY = os.getenv('SETTINGS_ENCRYPTION_KEY') - secrets redbuilding-osoba-9f74232/backend/server_canva.py :33
CANVA_API_TOKEN = os.getenv("CANVA_API_TOKEN") - secrets redbuilding-osoba-9f74232/backend/server_figma.py :33
FIGMA_ACCESS_TOKEN = os.getenv("FIGMA_ACCESS_TOKEN") - secrets redbuilding-osoba-9f74232/backend/server_mysql.py :22
'password': os.getenv('DB_PASSWORD', ''), # Default to empty password if not set - secrets redbuilding-osoba-9f74232/backend/server_poe.py :33
POE_API_KEY = os.getenv("POE_API_KEY") - secrets redbuilding-osoba-9f74232/backend/server_search.py :40
SERPER_API_KEY = os.getenv("SERPER_API_KEY") - secrets redbuilding-osoba-9f74232/backend/services/mcp_service.py :81
enabled=bool(os.getenv("CANVA_API_TOKEN")), - secrets (weak) redbuilding-osoba-9f74232/backend/tests/test_poe_mcp.py :890
enabled=bool(os.getenv("POE_API_KEY")),
database 2
- db redbuilding-osoba-9f74232/backend/db/mongodb.py :1
from pymongo import MongoClient - db redbuilding-osoba-9f74232/backend/db/profiles_crud.py :4
from pymongo.errors import DuplicateKeyError
tool registrations 61
- create_design redbuilding-osoba-9f74232/backend/server_canva.py :69
- list_designs redbuilding-osoba-9f74232/backend/server_canva.py :136
- get_design redbuilding-osoba-9f74232/backend/server_canva.py :167
- export_design redbuilding-osoba-9f74232/backend/server_canva.py :193
- upload_asset redbuilding-osoba-9f74232/backend/server_canva.py :259
- autofill_design redbuilding-osoba-9f74232/backend/server_canva.py :291
- get_brand_template_dataset redbuilding-osoba-9f74232/backend/server_canva.py :331
- import_design redbuilding-osoba-9f74232/backend/server_canva.py :360
- resize_design redbuilding-osoba-9f74232/backend/server_canva.py :397
- get_design_pages redbuilding-osoba-9f74232/backend/server_canva.py :435
- get_system_health redbuilding-osoba-9f74232/backend/server_cli.py :111
- list_dir redbuilding-osoba-9f74232/backend/server_cli.py :153
- read_log redbuilding-osoba-9f74232/backend/server_cli.py :189
- service_status redbuilding-osoba-9f74232/backend/server_cli.py :244
- read_workspace_file redbuilding-osoba-9f74232/backend/server_cli.py :314
- create_workspace redbuilding-osoba-9f74232/backend/server_codex.py :526
- run_codex_task redbuilding-osoba-9f74232/backend/server_codex.py :611
- start_codex_run redbuilding-osoba-9f74232/backend/server_codex.py :1125
- get_codex_run redbuilding-osoba-9f74232/backend/server_codex.py :1166
- cancel_codex_run redbuilding-osoba-9f74232/backend/server_codex.py :1209
- read_file redbuilding-osoba-9f74232/backend/server_codex.py :1238
- get_manifest redbuilding-osoba-9f74232/backend/server_codex.py :1281
- cleanup_workspace redbuilding-osoba-9f74232/backend/server_codex.py :1292
- cleanup_expired_workspaces redbuilding-osoba-9f74232/backend/server_codex.py :1312
- figma_get_file redbuilding-osoba-9f74232/backend/server_figma.py :61
- figma_get_nodes redbuilding-osoba-9f74232/backend/server_figma.py :94
- figma_export_images redbuilding-osoba-9f74232/backend/server_figma.py :131
- figma_get_comments redbuilding-osoba-9f74232/backend/server_figma.py :181
- figma_post_comment redbuilding-osoba-9f74232/backend/server_figma.py :208
- figma_get_design_system redbuilding-osoba-9f74232/backend/server_figma.py :244
- create_hubspot_marketing_email redbuilding-osoba-9f74232/backend/server_hubspot.py :40
- update_hubspot_marketing_email redbuilding-osoba-9f74232/backend/server_hubspot.py :93
- execute_sql_query_tool redbuilding-osoba-9f74232/backend/server_mysql.py :137
- poe_list_models redbuilding-osoba-9f74232/backend/server_poe.py :103
- poe_chat redbuilding-osoba-9f74232/backend/server_poe.py :154
- poe_generate_image redbuilding-osoba-9f74232/backend/server_poe.py :255
- poe_generate_video redbuilding-osoba-9f74232/backend/server_poe.py :316
- poe_generate_audio redbuilding-osoba-9f74232/backend/server_poe.py :365
- load_csv redbuilding-osoba-9f74232/backend/server_python.py :41
- check_missing_values redbuilding-osoba-9f74232/backend/server_python.py :74
- handle_missing_values redbuilding-osoba-9f74232/backend/server_python.py :88
- rename_columns redbuilding-osoba-9f74232/backend/server_python.py :124
- drop_columns redbuilding-osoba-9f74232/backend/server_python.py :142
- get_head redbuilding-osoba-9f74232/backend/server_python.py :162
- get_data_info redbuilding-osoba-9f74232/backend/server_python.py :174
- get_descriptive_statistics redbuilding-osoba-9f74232/backend/server_python.py :195
- get_value_counts redbuilding-osoba-9f74232/backend/server_python.py :207
- get_correlation_matrix redbuilding-osoba-9f74232/backend/server_python.py :221
- query_dataframe redbuilding-osoba-9f74232/backend/server_python.py :233
- filter_dataframe redbuilding-osoba-9f74232/backend/server_python.py :258
- group_and_aggregate redbuilding-osoba-9f74232/backend/server_python.py :281
- detect_outliers redbuilding-osoba-9f74232/backend/server_python.py :311
- convert_data_types redbuilding-osoba-9f74232/backend/server_python.py :359
- perform_hypothesis_test redbuilding-osoba-9f74232/backend/server_python.py :406
- create_plot redbuilding-osoba-9f74232/backend/server_python.py :469
- web_search redbuilding-osoba-9f74232/backend/server_search.py :68
- image_search redbuilding-osoba-9f74232/backend/server_search.py :154
- news_search redbuilding-osoba-9f74232/backend/server_search.py :192
- smart_search_extract redbuilding-osoba-9f74232/backend/server_search.py :381
- fetch_url redbuilding-osoba-9f74232/backend/server_search.py :449
- get_youtube_transcript redbuilding-osoba-9f74232/backend/server_youtube.py :259
declared dependencies 23
- mcp@*
- fastmcp@==3.1.0
- fastapi@*
- uvicorn@*
- pydantic@*
- pymongo@*
- ollama@*
- litellm@*
- mysql-connector-python@*
- python-dotenv@*
- httpx@*
- croniter@*
- cryptography@*
- jinja2@*
- markdown@*
- python-docx@*
- playwright@*
- trafilatura@>=1.6.0
- beautifulsoup4@>=4.12.0
- lxml@>=4.9.0
- chromadb@>=0.4.0
- tiktoken@>=0.5.0
- pdfplumber@>=0.9.0
perm:untrusted 1
- untrusted redbuilding-osoba-9f74232/backend/server_youtube.py :155
response_text = requests.get(transcript_url, timeout=30).text
transport_posture 1
- binds all interfaces (0.0.0.0) redbuilding-osoba-9f74232/backend/auth.py :67
auth_app.run(host='0.0.0.0', port=8000, debug=True)