Files
patchy631--ai-engineering-hub/cursor_linkup_mcp/server.py
T
2026-07-13 12:37:47 +08:00

43 lines
1008 B
Python

import asyncio
from dotenv import load_dotenv
from linkup import LinkupClient
from rag import RAGWorkflow
from mcp.server.fastmcp import FastMCP
load_dotenv()
mcp = FastMCP('linkup-server')
client = LinkupClient()
rag_workflow = RAGWorkflow()
@mcp.tool()
def web_search(query: str) -> str:
"""Search the web for the given query."""
search_response = client.search(
query=query,
depth="standard", # "standard" or "deep"
output_type="sourcedAnswer", # "searchResults" or "sourcedAnswer" or "structured"
structured_output_schema=None, # must be filled if output_type is "structured"
)
return search_response
@mcp.tool()
async def rag(query: str) -> str:
"""Use a simple RAG workflow to answer queries using documents from data directory about Deep Seek"""
response = await rag_workflow.query(query)
return str(response)
if __name__ == "__main__":
asyncio.run(rag_workflow.ingest_documents("data"))
mcp.run(transport="stdio")