Job-Application-Assistant / mcp /orchestrator_server.py
Noo88ear's picture
πŸš€ Initial deployment of Multi-Agent Job Application Assistant
7498f2c
from __future__ import annotations
from typing import List
from mcp.server import Server
from mcp.server_common import create_common_tools, run_server
from agents.orchestrator import OrchestratorAgent
from models.schemas import JobPosting
def build_server() -> Server:
server = Server("orchestrator_mcp")
create_common_tools(server)
orch = OrchestratorAgent()
@server.tool()
async def list_jobs() -> List[dict]:
jobs: List[JobPosting] = orch.get_saved_jobs()
return [job.model_dump() for job in jobs]
@server.tool()
async def run_for_jobs(job_ids: List[str], user_id: str = "default_user") -> List[dict]:
jobs = [j for j in orch.get_saved_jobs() if j.id in job_ids]
results = orch.run_for_jobs(jobs, user_id=user_id)
return [r.model_dump() for r in results]
return server
if __name__ == "__main__":
run_server(build_server())