Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
9 changes: 9 additions & 0 deletions autobot-backend/api/browser_mcp.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,8 +63,17 @@
from autobot_shared.logging_manager import get_logger
from autobot_shared.time_utils import now_utc
from constants.network_constants import NetworkConstants
from services.mcp_bridge_manifest import MCPBridgeManifest
from type_defs.common import Metadata

MANIFEST = MCPBridgeManifest(
name="browser_mcp",
version="1.0.0",
description="Browser Automation - Secure Web Interaction via Playwright",
features=["navigate", "click", "fill", "screenshot", "evaluate", "wait", "scraping"],
endpoint="/api/browser/mcp/tools",
)

logger = get_logger(__name__)
router = APIRouter(
tags=["browser_mcp", "mcp"],
Expand Down
9 changes: 9 additions & 0 deletions autobot-backend/api/database_mcp.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
from autobot_shared.error_boundaries import ErrorCategory, with_error_handling
from autobot_shared.logging_manager import get_logger
from autobot_shared.time_utils import now_utc
from services.mcp_bridge_manifest import MCPBridgeManifest
from type_defs.common import Metadata

from .schemas_code import (
Expand All @@ -53,6 +54,14 @@
TableListRequest,
)

MANIFEST = MCPBridgeManifest(
name="database_mcp",
version="1.0.0",
description="Database Operations - SQLite Query and Management",
features=["query", "execute", "schema", "tables", "statistics", "sql_injection_prevention"],
endpoint="/api/database/mcp/tools",
)

logger = get_logger(__name__)
router = APIRouter(
tags=["database_mcp", "mcp"],
Expand Down
9 changes: 9 additions & 0 deletions autobot-backend/api/filesystem_mcp.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,18 @@

from autobot_shared.logging_manager import get_logger
from autobot_shared.ssot_config import config
from services.mcp_bridge_manifest import MCPBridgeManifest
from type_defs.common import Metadata
from utils.io_executor import run_in_file_executor

MANIFEST = MCPBridgeManifest(
name="filesystem_mcp",
version="1.0.0",
description="Filesystem Operations - Secure File & Directory Access",
features=["read_files", "write_files", "directory_management", "search", "metadata"],
endpoint="/api/filesystem/mcp/tools",
)

# Issue #514: Per-file locking to prevent concurrent write corruption
_file_locks: Dict[str, asyncio.Lock] = {}
_file_locks_lock = asyncio.Lock()
Expand Down
9 changes: 9 additions & 0 deletions autobot-backend/api/git_mcp.py
Original file line number Diff line number Diff line change
Expand Up @@ -50,9 +50,18 @@
from autobot_shared.security.path_validator import validate_path
from autobot_shared.ssot_config import PROJECT_ROOT
from autobot_shared.time_utils import now_utc
from services.mcp_bridge_manifest import MCPBridgeManifest
from services.tool_output_filter import get_tool_output_filter
from type_defs.common import Metadata

MANIFEST = MCPBridgeManifest(
name="git_mcp",
version="1.0.0",
description="Git Operations - Version Control Repository Management",
features=["status", "log", "diff", "branch", "blame", "show", "repository_whitelist"],
endpoint="/api/git/mcp/tools",
)

logger = get_logger(__name__)

# Default repository path from SSOT (Issue #610 - config consolidation)
Expand Down
9 changes: 9 additions & 0 deletions autobot-backend/api/http_client_mcp.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,20 @@
from autobot_shared.logging_manager import get_logger
from autobot_shared.time_utils import now_utc
from constants.network_constants import NetworkConstants
from services.mcp_bridge_manifest import MCPBridgeManifest
from type_defs.common import JSONObject, Metadata
from utils.template_loader import load_mcp_tools, mcp_tools_exist

from .schemas_code import HTTPClientMCPStatusResponse, HTTPRequestResultResponse

MANIFEST = MCPBridgeManifest(
name="http_client_mcp",
version="1.0.0",
description="HTTP Client - Secure REST API Interactions",
features=["get", "post", "put", "patch", "delete", "head", "rate_limiting"],
endpoint="/api/http_client/mcp/tools",
)

logger = get_logger(__name__)
router = APIRouter(
tags=["http_client_mcp", "mcp"],
Expand Down
9 changes: 9 additions & 0 deletions autobot-backend/api/knowledge_mcp.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,15 @@
McpToolsResponse,
McpVectorSimilarityResponse,
)
from services.mcp_bridge_manifest import MCPBridgeManifest

MANIFEST = MCPBridgeManifest(
name="knowledge_mcp",
version="1.0.0",
description="Knowledge Base Operations (LlamaIndex + Redis Vectors)",
features=["search", "add_documents", "vector_similarity", "statistics"],
endpoint="/api/knowledge/mcp/tools",
)
from knowledge_base import KnowledgeBase
from type_defs.common import Metadata
from utils.service_registry import get_service_url
Expand Down
Loading
Loading