Spaces:
Running on Zero
Running on Zero
| import tools | |
| import database | |
| from mcp.server.fastmcp import FastMCP | |
| HAS_MCP = True | |
| if HAS_MCP: | |
| mcp_app = FastMCP("Academic-Research-Assistant-MCP") | |
| def search_arxiv(query: str, max_results: int = 5) -> str: | |
| """ArXiv platformundan verilen akademik konu veya anahtar kelimelere göre makaleleri arar.""" | |
| res = tools.search_arxiv_papers(query=query, max_results=max_results) | |
| return str(res) | |
| def search_openalex(query: str, limit: int = 5) -> str: | |
| """Semantic Scholar platformundan atıf sayıları (citations) ile makale arar.""" | |
| res = tools.search_openalex(query=query, limit=limit) | |
| return str(res) | |
| def save_paper(paper_id: str, title: str, authors: str = "", summary: str = "", url: str = "", published_year: str = "", tags: str = "genel") -> str: | |
| """Makaleyi SQLite kişisel kütüphane veritabanına kaydeder.""" | |
| res = database.save_paper(paper_id=paper_id, title=title, authors=authors, summary=summary, url=url, published_year=published_year, tags=tags) | |
| return str(res) | |
| def get_library(status_filter: str = "hepsi", query: str = "") -> str: | |
| """SQLite veritabanındaki kayıtlı makale kütüphanesini ve okuma durumlarını getirir.""" | |
| res = database.get_saved_papers(status_filter=status_filter, query=query) | |
| return str(res) | |
| def update_paper_status(paper_id: str, status: str = "", notes: str = "", tags: str = "") -> str: | |
| """Kayıtlı makalenin okuma durumunu ('unread', 'reading', 'completed') veya notlarını günceller.""" | |
| res = database.update_paper_status_or_note(paper_id=paper_id, status=status, notes=notes, tags=tags) | |
| return str(res) | |
| def delete_paper(paper_id: str) -> str: | |
| """Kütüphaneden bir makaleyi siler.""" | |
| res = database.delete_paper(paper_id=paper_id) | |
| return str(res) | |
| def clear_library() -> str: | |
| """Kütüphanedeki TÜM makaleleri veritabanından tamamen siler ve temizler.""" | |
| res = database.clear_library() | |
| return str(res) | |
| def run_mcp(): | |
| mcp_app.run() | |
| else: | |
| def run_mcp(): | |
| print("⚠️ MCP kütüphanesi yüklenmedi. Lütfen 'pip install mcp' komutunu çalıştırın.") | |
| if __name__ == "__main__": | |
| database.init_db() | |
| run_mcp() | |