Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions src/seclab_taskflows/mcp_servers/codeql_python/mcp_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,6 @@


import logging
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(levelname)s - %(message)s',
filename='logs/mcp_codeql_python.log',
filemode='a'
)
from seclab_taskflow_agent.mcp_servers.codeql.client import run_query, _debug_log
# from seclab_taskflow_agent.path_utils import mcp_data_dir

Expand All @@ -23,14 +17,20 @@
from sqlalchemy.orm import Session
import subprocess
import importlib.resources
from seclab_taskflow_agent.path_utils import mcp_data_dir, log_file_name

from .codeql_sqlite_models import Base, Source
from ..utils import process_repo

MEMORY = Path(os.getenv('DATA_DIR', default='/app/data'))
CODEQL_DBS_BASE_PATH = Path(os.getenv('CODEQL_DBS_BASE_PATH', default='/app/data'))
# MEMORY = mcp_data_dir('seclab-taskflows', 'codeql', 'DATA_DIR')
# CODEQL_DBS_BASE_PATH = mcp_data_dir('seclab-taskflows', 'codeql', 'CODEQL_DBS_BASE_PATH')
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(levelname)s - %(message)s',
filename=log_file_name('mcp_codeql_python.log'),
filemode='a'
)

MEMORY = mcp_data_dir('seclab-taskflows', 'codeql', 'DATA_DIR')
CODEQL_DBS_BASE_PATH = mcp_data_dir('seclab-taskflows', 'codeql', 'CODEQL_DBS_BASE_PATH')

mcp = FastMCP("CodeQL-Python")

Expand Down
16 changes: 8 additions & 8 deletions src/seclab_taskflows/mcp_servers/gh_actions.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,6 @@
# SPDX-License-Identifier: MIT

import logging
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(levelname)s - %(message)s',
filename='logs/mcp_gh_actions.log',
filemode='a'
)

from fastmcp import FastMCP
from pydantic import Field
import httpx
Expand All @@ -19,7 +12,14 @@
from sqlalchemy import create_engine
from sqlalchemy.orm import Session
from pathlib import Path
from seclab_taskflow_agent.path_utils import mcp_data_dir, log_file_name

logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(levelname)s - %(message)s',
filename=log_file_name('mcp_gh_actions.log'),
filemode='a'
)

class Base(DeclarativeBase):
pass
Expand Down Expand Up @@ -49,7 +49,7 @@ def __repr__(self):
if not GITHUB_PERSONAL_ACCESS_TOKEN:
GITHUB_PERSONAL_ACCESS_TOKEN = os.getenv('COPILOT_TOKEN')

ACTIONS_DB_DIR = Path(os.getenv('ACTIONS_DB_DIR', default='/app/my_data'))
ACTIONS_DB_DIR = mcp_data_dir('seclab-taskflows', 'gh_actions', 'ACTIONS_DB_DIR')

engine = create_engine(f'sqlite:///{os.path.abspath(ACTIONS_DB_DIR)}/actions.db', echo=False)
Base.metadata.create_all(engine, tables = [WorkflowUses.__table__])
Expand Down
19 changes: 10 additions & 9 deletions src/seclab_taskflows/mcp_servers/gh_code_scanning.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,6 @@
# SPDX-License-Identifier: MIT

import logging
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(levelname)s - %(message)s',
filename='logs/mcp_gh_code_scanning.log',
filemode='a'
)
from fastmcp import FastMCP
from pydantic import Field
import httpx
Expand All @@ -20,18 +14,25 @@
import zipfile
from sqlalchemy import create_engine
from sqlalchemy.orm import Session
from seclab_taskflow_agent.path_utils import mcp_data_dir, log_file_name

from .alert_results_models import AlertResults, AlertFlowGraph, Base

logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(levelname)s - %(message)s',
filename=log_file_name('mcp_gh_code_scanning.log'),
filemode='a'
)

mcp = FastMCP("GitHubCodeScanning")

GITHUB_PERSONAL_ACCESS_TOKEN = os.getenv('GITHUB_PERSONAL_ACCESS_TOKEN', default='')
if not GITHUB_PERSONAL_ACCESS_TOKEN:
GITHUB_PERSONAL_ACCESS_TOKEN = os.getenv('COPILOT_TOKEN')

CODEQL_DBS_BASE_PATH = Path(os.getenv('CODEQL_DBS_BASE_PATH', default='/app/my_data'))

ALERT_RESULTS_DIR = Path(os.getenv('ALERT_RESULTS_DIR', default='/app/my_data'))
CODEQL_DBS_BASE_PATH = mcp_data_dir('seclab-taskflows', 'codeql', 'CODEQL_DBS_BASE_PATH')
ALERT_RESULTS_DIR = mcp_data_dir('seclab-taskflows', 'gh_code_scanning', 'ALERT_RESULTS_DIR')

def parse_alert(alert: dict) -> dict:
"""Parse the alert dictionary to extract relevant information."""
Expand Down
17 changes: 9 additions & 8 deletions src/seclab_taskflows/mcp_servers/gh_file_viewer.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,6 @@
# SPDX-License-Identifier: MIT

import logging
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(levelname)s - %(message)s',
filename='logs/mcp_gh_file_viewer.log',
filemode='a'
)

from fastmcp import FastMCP
from pydantic import Field
import httpx
Expand All @@ -22,6 +15,14 @@
import aiofiles
import zipfile
import tempfile
from seclab_taskflow_agent.path_utils import mcp_data_dir, log_file_name

logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(levelname)s - %(message)s',
filename=log_file_name('mcp_gh_file_viewer.log'),
filemode='a'
)

class Base(DeclarativeBase):
pass
Expand All @@ -46,7 +47,7 @@ def __repr__(self):
if not GITHUB_PERSONAL_ACCESS_TOKEN:
GITHUB_PERSONAL_ACCESS_TOKEN = os.getenv('COPILOT_TOKEN')

SEARCH_RESULT_DIR = Path(os.getenv('SEARCH_RESULTS_DIR', default='/app/my_data'))
SEARCH_RESULT_DIR = mcp_data_dir('seclab-taskflows', 'gh_file_viewer', 'SEARCH_RESULTS_DIR')

engine = create_engine(f'sqlite:///{os.path.abspath(SEARCH_RESULT_DIR)}/search_result.db', echo=False)
Base.metadata.create_all(engine, tables = [SearchResults.__table__])
Expand Down
14 changes: 8 additions & 6 deletions src/seclab_taskflows/mcp_servers/ghsa.py
Original file line number Diff line number Diff line change
@@ -1,17 +1,19 @@
import logging
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(levelname)s - %(message)s',
filename='logs/mcp_ghsa.log',
filemode='a'
)

from fastmcp import FastMCP
from pydantic import Field
import re
import json
from urllib.parse import urlparse, parse_qs
from .gh_code_scanning import call_api
from seclab_taskflow_agent.path_utils import log_file_name

logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(levelname)s - %(message)s',
filename=log_file_name('mcp_ghsa.log'),
filemode='a'
)

mcp = FastMCP("GitHubRepoAdvisories")

Expand Down
16 changes: 8 additions & 8 deletions src/seclab_taskflows/mcp_servers/local_file_viewer.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,6 @@
# SPDX-License-Identifier: MIT

import logging
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(levelname)s - %(message)s',
filename='logs/mcp_local_file_viewer.log',
filemode='a'
)

from fastmcp import FastMCP
from pydantic import Field
import httpx
Expand All @@ -18,11 +11,18 @@
import aiofiles
import zipfile
import tempfile
from seclab_taskflow_agent.path_utils import mcp_data_dir, log_file_name
Copy link

Copilot AI Dec 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Import of 'log_file_name' is not used.

Copilot uses AI. Check for mistakes.

logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(levelname)s - %(message)s',
filename=log_file_dir('mcp_local_file_viewer.log'),
filemode='a'
)

mcp = FastMCP("LocalFileViewer")

LOCAL_GH_DIR = Path(os.getenv('LOCAL_GH_DIR', default='/app/my_data'))
LOCAL_GH_DIR = mcp_data_dir('seclab-taskflows', 'local_file_viewer', 'LOCAL_GH_DIR')

def is_subdirectory(directory, potential_subdirectory):
directory_path = Path(directory)
Expand Down
16 changes: 8 additions & 8 deletions src/seclab_taskflows/mcp_servers/local_gh_resources.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,6 @@
# SPDX-License-Identifier: MIT

import logging
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(levelname)s - %(message)s',
filename='logs/mcp_local_gh_resources.log',
filemode='a'
)

from fastmcp import FastMCP
from pydantic import Field
import httpx
Expand All @@ -18,15 +11,22 @@
import aiofiles
import zipfile
import tempfile
from seclab_taskflow_agent.path_utils import mcp_data_dir, log_file_name

logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(levelname)s - %(message)s',
filename=log_file_name('mcp_local_gh_resources.log'),
filemode='a'
)

mcp = FastMCP("LocalGHResources")

GITHUB_PERSONAL_ACCESS_TOKEN = os.getenv('GITHUB_PERSONAL_ACCESS_TOKEN')
if not GITHUB_PERSONAL_ACCESS_TOKEN:
GITHUB_PERSONAL_ACCESS_TOKEN = os.getenv('COPILOT_TOKEN')

LOCAL_GH_DIR = Path(os.getenv('LOCAL_GH_DIR', default='/app/my_data'))
LOCAL_GH_DIR = mcp_data_dir('seclab-taskflows', 'local_gh_resources', 'LOCAL_GH_DIR')

def is_subdirectory(directory, potential_subdirectory):
directory_path = Path(directory)
Expand Down
17 changes: 9 additions & 8 deletions src/seclab_taskflows/mcp_servers/repo_context.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,6 @@
# SPDX-License-Identifier: MIT

import logging
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(levelname)s - %(message)s',
filename='logs/mcp_repo_context.log',
filemode='a'
)

from fastmcp import FastMCP
from pydantic import Field
import httpx
Expand All @@ -19,11 +12,19 @@
from sqlalchemy import create_engine
from sqlalchemy.orm import Session
from pathlib import Path
from seclab_taskflow_agent.path_utils import mcp_data_dir, log_file_name

from .repo_context_models import Application, EntryPoint, UserAction, WebEntryPoint, ApplicationIssue, AuditResult, Base
from .utils import process_repo

MEMORY = Path(os.getenv('REPO_CONTEXT_DIR', default='/app/my_data'))
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(levelname)s - %(message)s',
filename=log_file_name('mcp_repo_context.log'),
filemode='a'
)

MEMORY = mcp_data_dir('seclab-taskflows', 'repo_context', 'REPO_CONTEXT_DIR')

def app_to_dict(result):
return {
Expand Down
17 changes: 9 additions & 8 deletions src/seclab_taskflows/mcp_servers/report_alert_state.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,6 @@
# SPDX-License-Identifier: MIT

import logging
logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(levelname)s - %(message)s',
filename='logs/mcp_report_alert_state.log',
filemode='a'
)

from fastmcp import FastMCP
import json
from pathlib import Path
Expand All @@ -17,9 +10,17 @@
from sqlalchemy import create_engine
from sqlalchemy.orm import Session
from pydantic import Field
from seclab_taskflow_agent.path_utils import mcp_data_dir, log_file_name

from .alert_results_models import AlertResults, AlertFlowGraph, Base

logging.basicConfig(
level=logging.DEBUG,
format='%(asctime)s - %(levelname)s - %(message)s',
filename=log_file_name('mcp_report_alert_state.log'),
filemode='a'
)

def result_to_dict(result):
return {
"canonical_id": result.canonical_id,
Expand Down Expand Up @@ -57,7 +58,7 @@ def remove_line_numbers(location: str) -> str:
return ':'.join(parts[:-4])


MEMORY = Path(os.getenv('ALERT_RESULTS_DIR', default='/app/my_data'))
MEMORY = mcp_data_dir('seclab-taskflows', 'report_alert_state', 'ALERT_RESULTS_DIR')

class ReportAlertStateBackend:
def __init__(self, memcache_state_dir: str):
Expand Down