12 lines
657 B
Python
12 lines
657 B
Python
import os, requests
|
|
from dotenv import load_dotenv
|
|
from mcp.server.fastmcp import FastMCP
|
|
load_dotenv();mcp=FastMCP("Alfred Paperless");BASE=os.getenv('PAPERLESS_URL','').rstrip('/');TOKEN=os.getenv('PAPERLESS_TOKEN','');H={'Authorization':f'Token {TOKEN}'}
|
|
@mcp.tool()
|
|
def search_documents(query:str, limit:int=10):
|
|
r=requests.get(BASE+'/api/documents/',headers=H,params={'query':query,'page_size':limit},timeout=20);r.raise_for_status();return r.json()
|
|
@mcp.tool()
|
|
def get_document(document_id:int):
|
|
r=requests.get(f'{BASE}/api/documents/{document_id}/',headers=H,timeout=20);r.raise_for_status();return r.json()
|
|
if __name__=='__main__':mcp.run()
|