-
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmanifest.json
More file actions
95 lines (95 loc) · 4.41 KB
/
Copy pathmanifest.json
File metadata and controls
95 lines (95 loc) · 4.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
{
"manifest_version": "0.4",
"name": "dspace-mcp",
"display_name": "DSpace Repository (read-only)",
"version": "0.5.0",
"description": "Read-only MCP server for DSpace 7+ repositories",
"long_description": "Searches and reads any DSpace 7+ repository over its REST API: discovery search, items by UUID / handle / DOI, communities and collections, bitstream listings, faceted counts, and text extraction from PDF, Word, OpenDocument and Office XML files.\n\nRead-only by construction: it can send no request that would modify the repository.\n\nIt runs in one of two profiles, chosen by whether you fill in the account fields below. Leave them empty and it is the anonymous public: it sees exactly what any visitor sees, and its tools carry no account-related options at all. Fill them in and it also reads what that account can see — embargoed items, restricted collections and closed files — gains tools to compare its view against the public one, and can hand you a working download link for a file the public cannot reach.\n\nIf you give it an account and the login fails, the server stops instead of quietly falling back to public data, so you are never told a document is missing when it is only restricted.\n\nPoint it at your own instance with the base URL below (the `/server` endpoint, not the user-facing site).",
"author": {
"name": "Michał Pasternak",
"email": "michal.dtz@gmail.com"
},
"repository": {
"type": "git",
"url": "https://github.com/mpasternak/dspace-mcp"
},
"homepage": "https://github.com/mpasternak/dspace-mcp#readme",
"documentation": "https://github.com/mpasternak/dspace-mcp#readme",
"support": "https://github.com/mpasternak/dspace-mcp/issues",
"license": "MIT",
"keywords": [
"dspace",
"mcp",
"repository",
"oai",
"llm",
"open-access"
],
"server": {
"type": "uv",
"entry_point": "mcpb/launch.py",
"mcp_config": {
"command": "uv",
"args": [
"run",
"--directory",
"${__dirname}",
"mcpb/launch.py"
],
"env": {
"DSPACE_BASE_URL": "${user_config.base_url}",
"DSPACE_MAX_RESULTS": "${user_config.max_results}",
"DSPACE_EXTRACT_MAX_MB": "${user_config.extract_max_mb}",
"DSPACE_USERNAME": "${user_config.username}",
"DSPACE_PASSWORD": "${user_config.password}"
}
}
},
"user_config": {
"base_url": {
"type": "string",
"title": "DSpace base URL",
"description": "REST API root of your repository, e.g. https://demo.dspace.org/server — the /server endpoint, not the public web UI. Required: the server refuses to start without it rather than guess and hand you someone else's data.",
"required": true
},
"max_results": {
"type": "number",
"title": "Max results per tool call",
"description": "Hard cap on how many objects any single tool may return.",
"required": false,
"default": 50,
"min": 1
},
"extract_max_mb": {
"type": "number",
"title": "Text extraction size limit (MB)",
"description": "Refuse to download bitstreams larger than this when extracting text (PDF, Word, OpenDocument, Office XML).",
"required": false,
"default": 20,
"min": 1
},
"username": {
"type": "string",
"title": "Username (optional)",
"description": "Leave empty to read publicly available data only, like any visitor — that is a complete, supported way to run this server. Fill both this and the password to also read material only your account can see: embargoed items, restricted collections and closed files. Use an account with the least privilege that covers what you need — the server reads everything that account is allowed to read. It still cannot modify anything, and if the login fails it refuses to start rather than silently show you less.",
"required": false
},
"password": {
"type": "string",
"title": "Password (optional)",
"description": "Password for the account above. Required if you filled in a username, ignored otherwise. Only password login is supported: repositories that authenticate solely through ORCID or Shibboleth cannot be used this way, and the server will say so instead of failing silently.",
"required": false,
"sensitive": true
}
},
"compatibility": {
"platforms": [
"darwin",
"linux",
"win32"
],
"runtimes": {
"python": ">=3.10"
}
}
}