<!-- CURSOR_SUMMARY --> > [!NOTE] > **Medium Risk** > Touches multiple toolkits’ runtime entrypoints and context/error/auth plumbing, so breakage risk is mainly around invocation/packaging and tool execution wiring rather than business logic. > > **Overview** > Migrates the BrightData, ClickHouse, LinkedIn, Math, MongoDB, Postgres, and Zendesk OSS toolkits from `arcade-tdk` to `arcade-mcp-server` APIs by updating tool decorators, `Context` types, auth classes, and exception imports. > > Adds per-toolkit `__main__.py` files that construct an `MCPApp`, register module tools, and run via configurable transport/host/port; corresponding `pyproject.toml` updates bump versions, drop `arcade-tdk`/`arcade-serve` deps, and add `project.scripts` console entrypoints. > > Updates tests and eval suites to use `arcade_mcp_server.Context` (mocked) and switches eval `ToolCatalog` imports to `arcade_core`. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 9b3e31acb4b35e1d72efd47e2d279c5b19e3ecb0. This will update automatically on new commits. Configure [here](https://cursor.com/dashboard?tab=bugbot).</sup> <!-- /CURSOR_SUMMARY -->
28 lines
754 B
Python
28 lines
754 B
Python
import sys
|
|
from typing import cast
|
|
|
|
from arcade_mcp_server import MCPApp
|
|
from arcade_mcp_server.mcp_app import TransportType
|
|
|
|
import arcade_brightdata
|
|
|
|
app = MCPApp(
|
|
name="BrightData",
|
|
instructions=(
|
|
"Use this server when you need to interact with Bright Data to help users "
|
|
"scrape web pages, search the web, and extract structured data from websites."
|
|
),
|
|
)
|
|
|
|
app.add_tools_from_module(arcade_brightdata)
|
|
|
|
|
|
def main() -> None:
|
|
transport = sys.argv[1] if len(sys.argv) > 1 else "stdio"
|
|
host = sys.argv[2] if len(sys.argv) > 2 else "127.0.0.1"
|
|
port = int(sys.argv[3]) if len(sys.argv) > 3 else 8000
|
|
app.run(transport=cast(TransportType, transport), host=host, port=port)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|