github Python analyzed 9f74232

redbuilding/osoba

github

This app demonstrates use of MCP server and client in a local model chat via Ollama that incorporates web search via Serper.

maintainer
redbuilding
license
MIT
first seen
2026-09-03
last seen
2026-09-03
releases · 30d
0
short id

Drift inferred · capture-to-capture

No drift recorded — single capability capture; advisories appear once its surface changes.

capabilities 61 tools
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
code evidence vHEAD · github-tarball
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)