openproject-mcp 1.0.0 → 1.0.1
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.
- package/index.js +8 -5
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
ListToolsRequestSchema,
|
|
8
8
|
} from "@modelcontextprotocol/sdk/types.js";
|
|
9
9
|
|
|
10
|
-
const BASE_URL = process.env.OPENPROJECT_URL || "https://openproject.
|
|
10
|
+
const BASE_URL = process.env.OPENPROJECT_URL || "https://your-openproject-instance.com";
|
|
11
11
|
const API_KEY = process.env.OPENPROJECT_API_KEY || "";
|
|
12
12
|
|
|
13
13
|
const server = new Server(
|
|
@@ -118,13 +118,13 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
118
118
|
inputSchema: {
|
|
119
119
|
type: "object",
|
|
120
120
|
properties: {
|
|
121
|
-
projectId: { type: "string", description: "Project ID or slug"
|
|
121
|
+
projectId: { type: "string", description: "Project ID or slug" },
|
|
122
122
|
subject: { type: "string", description: "Work package title/subject" },
|
|
123
123
|
description: { type: "string", description: "Work package description" },
|
|
124
124
|
typeId: { type: "number", description: "Type ID (1=Task, 4=Feature, 5=Bug)", default: 1 },
|
|
125
125
|
parentId: { type: "number", description: "Parent work package ID" },
|
|
126
126
|
assigneeId: { type: "number", description: "Assignee user ID" },
|
|
127
|
-
versionId: { type: "number", description: "Sprint/Version ID
|
|
127
|
+
versionId: { type: "number", description: "Sprint/Version ID" },
|
|
128
128
|
startDate: { type: "string", description: "Start date (YYYY-MM-DD)" },
|
|
129
129
|
dueDate: { type: "string", description: "Due date (YYYY-MM-DD)" }
|
|
130
130
|
},
|
|
@@ -142,7 +142,7 @@ server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
|
142
142
|
description: { type: "string", description: "New description" },
|
|
143
143
|
statusId: { type: "number", description: "New status ID" },
|
|
144
144
|
assigneeId: { type: "number", description: "New assignee ID" },
|
|
145
|
-
versionId: { type: "number", description: "Sprint/Version ID
|
|
145
|
+
versionId: { type: "number", description: "Sprint/Version ID" },
|
|
146
146
|
estimatedTime: { type: "string", description: "Estimated time in ISO 8601 duration format (e.g., PT2H for 2 hours, PT30M for 30 minutes)" }
|
|
147
147
|
},
|
|
148
148
|
required: ["id"]
|
|
@@ -325,7 +325,10 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
325
325
|
}
|
|
326
326
|
|
|
327
327
|
case "create_work_package": {
|
|
328
|
-
|
|
328
|
+
if (!args.projectId) {
|
|
329
|
+
throw new Error("projectId is required");
|
|
330
|
+
}
|
|
331
|
+
var projectId = args.projectId;
|
|
329
332
|
var createBody = {
|
|
330
333
|
subject: args.subject,
|
|
331
334
|
_links: {
|