get-issues
Retrieve and list all available projects in an Autodesk Construction Cloud account using the Model Context Protocol. Designed for fine-grained access control via Secure Service Accounts.
Instructions
List all available projects in an Autodesk Construction Cloud account
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes |
Implementation Reference
- src/tools/get-issues.ts:14-26 (handler)The handler function that authenticates, fetches issues for the given projectId using IssuesClient, and formats the results as text content.callback: async ({ projectId }) => { // TODO: add pagination support const accessToken = await getAccessToken(["data:read"]); const issuesClient = new IssuesClient(); projectId = projectId.replace("b.", ""); // the projectId should not contain the "b." prefix const issues = await issuesClient.getIssues(projectId, { accessToken }); if (!issues.results) { throw new Error("No issues found"); } return { content: issues.results.map((issue) => ({ type: "text", text: JSON.stringify(issue) })) }; }
- src/tools/get-issues.ts:6-8 (schema)Input schema validating projectId as a non-empty string.const schema = { projectId: z.string().nonempty() };
- src/server.ts:11-14 (registration)Registers the 'get-issues' tool (along with others) into the MCP server by iterating over all tool exports from src/tools/index and calling server.tool().const server = new McpServer({ name: "autodesk-platform-services", version: "0.0.1" }); for (const tool of Object.values(tools)) { server.tool(tool.title, tool.description, tool.schema, tool.callback); }
- src/tools/index.ts:5-5 (registration)Re-exports the getIssues tool object for use in the main tools index.export { getIssues } from "./get-issues.js";