academia-mcp 1.6.3__tar.gz → 1.6.5__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/PKG-INFO +1 -1
  2. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp/tools/bitflip.py +6 -9
  3. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp.egg-info/PKG-INFO +1 -1
  4. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/pyproject.toml +1 -1
  5. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/LICENSE +0 -0
  6. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/README.md +0 -0
  7. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp/__init__.py +0 -0
  8. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp/__main__.py +0 -0
  9. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp/files.py +0 -0
  10. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp/latex_templates/agents4science_2025/agents4science_2025.sty +0 -0
  11. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp/latex_templates/agents4science_2025/agents4science_2025.tex +0 -0
  12. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp/llm.py +0 -0
  13. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp/pdf.py +0 -0
  14. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp/py.typed +0 -0
  15. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp/server.py +0 -0
  16. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp/tools/__init__.py +0 -0
  17. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp/tools/anthology_search.py +0 -0
  18. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp/tools/arxiv_download.py +0 -0
  19. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp/tools/arxiv_search.py +0 -0
  20. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp/tools/document_qa.py +0 -0
  21. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp/tools/hf_datasets_search.py +0 -0
  22. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp/tools/latex.py +0 -0
  23. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp/tools/py.typed +0 -0
  24. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp/tools/review.py +0 -0
  25. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp/tools/s2_citations.py +0 -0
  26. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp/tools/visit_webpage.py +0 -0
  27. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp/tools/web_search.py +0 -0
  28. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp/utils.py +0 -0
  29. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp.egg-info/SOURCES.txt +0 -0
  30. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp.egg-info/dependency_links.txt +0 -0
  31. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp.egg-info/entry_points.txt +0 -0
  32. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp.egg-info/requires.txt +0 -0
  33. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/academia_mcp.egg-info/top_level.txt +0 -0
  34. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/setup.cfg +0 -0
  35. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/tests/test_anthology_search.py +0 -0
  36. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/tests/test_arxiv_download.py +0 -0
  37. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/tests/test_arxiv_search.py +0 -0
  38. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/tests/test_bitflip.py +0 -0
  39. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/tests/test_document_qa.py +0 -0
  40. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/tests/test_extract_json.py +0 -0
  41. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/tests/test_hf_dataset_search.py +0 -0
  42. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/tests/test_latex.py +0 -0
  43. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/tests/test_review.py +0 -0
  44. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/tests/test_s2_citations.py +0 -0
  45. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/tests/test_visit_webpage.py +0 -0
  46. {academia_mcp-1.6.3 → academia_mcp-1.6.5}/tests/test_web_search.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: academia-mcp
3
- Version: 1.6.3
3
+ Version: 1.6.5
4
4
  Summary: MCP server that provides different tools to search for scientific publications
5
5
  Author-email: Ilya Gusev <phoenixilya@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/IlyaGusev/academia_mcp
@@ -4,7 +4,7 @@
4
4
  import json
5
5
  import os
6
6
  import random
7
- from typing import List, Optional, Any
7
+ from typing import List, Optional, Any, Dict
8
8
 
9
9
  from pydantic import BaseModel
10
10
  from datasets import load_dataset # type: ignore
@@ -121,11 +121,9 @@ Your task is to score the proposals.
121
121
 
122
122
  Proposals:
123
123
  {% for proposal in proposals %}
124
- - Proposal ID: {{proposal["proposal_id"]}}
125
- - Spark: {{proposal["spark"]}}
126
- - Abstract: {{proposal["abstract"]}}
127
- - Experiments: {{proposal["experiments"]}}
128
- - Risks and limitations: {{proposal["risks_and_limitations"]}}
124
+ ----
125
+ {{proposal}}
126
+ ----
129
127
  {% endfor %}
130
128
 
131
129
  Here are the criteria:
@@ -251,7 +249,7 @@ async def generate_research_proposal(bit: str, additional_context: str = "") ->
251
249
  return str(proposal.model_dump_json())
252
250
 
253
251
 
254
- async def score_research_proposals(proposals: List[str]) -> str:
252
+ async def score_research_proposals(proposals: List[str | Dict[str, Any] | Any]) -> str:
255
253
  """
256
254
  Scores a list of research proposals.
257
255
  Use proposals obtained with the `generate_research_proposal` tool.
@@ -278,8 +276,7 @@ async def score_research_proposals(proposals: List[str]) -> str:
278
276
  proposals: A list of JSON strings with research proposals.
279
277
  """
280
278
  model_name = os.getenv("BITFLIP_MODEL_NAME", "deepseek/deepseek-chat-v3-0324")
281
- proposals = [Proposal.model_validate_json(proposal) for proposal in proposals]
282
- prompt = encode_prompt(SCORE_PROMPT, proposals=proposals)
279
+ prompt = encode_prompt(SCORE_PROMPT, proposals=[str(p) for p in proposals])
283
280
  content = await llm_acall(
284
281
  model_name=model_name, messages=[ChatMessage(role="user", content=prompt)]
285
282
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: academia-mcp
3
- Version: 1.6.3
3
+ Version: 1.6.5
4
4
  Summary: MCP server that provides different tools to search for scientific publications
5
5
  Author-email: Ilya Gusev <phoenixilya@gmail.com>
6
6
  Project-URL: Homepage, https://github.com/IlyaGusev/academia_mcp
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "academia-mcp"
7
- version = "1.6.3"
7
+ version = "1.6.5"
8
8
  description = "MCP server that provides different tools to search for scientific publications"
9
9
  readme = "README.md"
10
10
  authors = [
File without changes
File without changes
File without changes