OpenAI-compatible API
If your tool speaks the OpenAI Chat Completions protocol, you can query your M365 data without configuring MCP at all. The serve mode runs a local HTTP server that any OpenAI-compatible client can talk to.
Start the server
Section titled “Start the server”npx -y @stuffbucket/workiq-proxy serveThe server starts on port 11435 by default and seeks the next available port if busy.
Custom port
Section titled “Custom port”npx -y @stuffbucket/workiq-proxy serve --port 8080Endpoint
Section titled “Endpoint”POST http://localhost:11435/v1/chat/completionsRequest
Section titled “Request”{ "model": "workiq", "messages": [ { "role": "user", "content": "What emails did I get today?" } ]}Response
Section titled “Response”Standard OpenAI Chat Completions response format with the Work IQ answer in choices[0].message.content.
Use with any OpenAI-compatible client
Section titled “Use with any OpenAI-compatible client”Point any tool at http://localhost:11435 as the base URL. No API key required (the server uses your local Work IQ auth tokens).
Example: curl
Section titled “Example: curl”curl http://localhost:11435/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{"model":"workiq","messages":[{"role":"user","content":"What meetings do I have tomorrow?"}]}'Example: Python (openai library)
Section titled “Example: Python (openai library)”from openai import OpenAI
client = OpenAI(base_url="http://localhost:11435/v1", api_key="unused")
response = client.chat.completions.create( model="workiq", messages=[{"role": "user", "content": "Find my recent documents about budgets"}],)print(response.choices[0].message.content)