Skip to content

Commit c6afbe1

Browse files
author
Maxim Titovich
committed
docs: Update README to remove missing image references
1 parent d0ad6b3 commit c6afbe1

File tree

1 file changed

+3
-190
lines changed

1 file changed

+3
-190
lines changed

README.md

Lines changed: 3 additions & 190 deletions
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ If you encounter the error "server.setRequestHandler is not a function" or simil
148148
2. Try reinstalling the package: `npm install -g cursor-azure-devops-mcp`
149149
3. Check that your `.env` file is correctly set up with your Azure DevOps credentials
150150

151-
![Command Mode Setup](https://raw.githubusercontent.com/yourusername/cursor-azure-devops-mcp/main/docs/images/command-mode-setup.png)
151+
> **Note**: Screenshots for setup will be provided in a future update.
152152
153153
#### Option 2: SSE Mode (Alternative)
154154

@@ -177,7 +177,7 @@ The SSE mode connects to an HTTP server with Server-Sent Events:
177177
```
178178
8. Click "Add"
179179

180-
![SSE Mode Setup](https://raw.githubusercontent.com/yourusername/cursor-azure-devops-mcp/main/docs/images/sse-mode-setup.png)
180+
> **Note**: Screenshots for setup will be provided in a future update.
181181
182182
### Windows Users
183183

@@ -305,191 +305,4 @@ To test the connection to Azure DevOps:
305305

306306
```bash
307307
npm run test-connection
308-
```
309-
310-
## Publishing
311-
312-
To publish to npm:
313-
314-
```bash
315-
npm run build
316-
npm publish
317-
```
318-
319-
## Continuous Integration and Deployment
320-
321-
This project uses GitHub Actions for automated builds, testing, and publishing.
322-
323-
### Status Badges
324-
325-
The status badges at the top of the README provide real-time information about the project:
326-
327-
- **CI**: Shows the status of the continuous integration workflow (build and tests)
328-
- **Publish**: Indicates the status of the npm publishing workflow
329-
- **Version Bump**: Indicates the status of the version bump workflow
330-
- **npm version**: Shows the latest published version on npm
331-
- **License**: Indicates the project license type
332-
333-
### CI Workflow
334-
335-
The CI workflow runs on every push to the main and develop branches, as well as on pull requests:
336-
337-
- Builds the project with Node.js 16.x, 18.x, and 20.x
338-
- Runs linting and formatting checks
339-
- Performs security checks to prevent sensitive data exposure
340-
- Ensures the build completes successfully
341-
342-
You can see the workflow details in `.github/workflows/ci.yml`.
343-
344-
### CD Workflow (Publishing)
345-
346-
The publishing workflow runs when:
347-
- Any change is pushed to the main branch (except documentation & config files)
348-
- A new GitHub release is created
349-
- Manually triggered via GitHub Actions interface
350-
351-
It performs the following steps:
352-
1. Runs all checks and builds the package
353-
2. Extracts the package version from package.json
354-
3. Checks if that version already exists on npm
355-
4. If the version exists, automatically bumps the patch version
356-
5. Creates a GitHub release for the new version
357-
6. Publishes the package to npm
358-
359-
To use this workflow, you need to:
360-
1. Add an `NPM_TOKEN` secret to your GitHub repository settings
361-
2. Either:
362-
- Push code changes to the main branch (auto-versioning will handle the rest)
363-
- Manually trigger the workflow from the Actions tab
364-
- Create a GitHub release
365-
366-
The workflow supports automatic version bumping when a version conflict is detected, making continuous delivery seamless without manual version management.
367-
368-
You can see the workflow details in `.github/workflows/publish.yml`.
369-
370-
## Troubleshooting
371-
372-
### Summary of Common Issues and Solutions
373-
374-
1. **Best Practices for Connection**:
375-
- Use Command mode when possible (more reliable)
376-
- If using SSE mode, set the port directly in the command line with `PORT=9836 npm run sse-server`
377-
- Always verify the server is running before trying to connect from Cursor
378-
379-
2. **Port Configuration**:
380-
- The most reliable way to change the port is using the environment variable directly: `PORT=9836 npm run sse-server`
381-
- Make sure to use the same port in Cursor when adding the MCP server: `http://localhost:9836/sse`
382-
383-
3. **Session Management Issues**:
384-
- If you see "Session not found" errors in the console, try restarting both the server and Cursor
385-
- Clear Cursor's application data (Help > Clear Application Data) if problems persist
386-
387-
4. **Connection Errors**:
388-
- For "Failed to create client" errors, make sure the server is running and accessible
389-
- Check that no firewalls or security software are blocking the connection
390-
- Try using a different port if the default port (3000) is in use
391-
392-
### MCP Server Not Connecting
393-
394-
- Make sure your Azure DevOps credentials in the `.env` file are correct
395-
- Check that your personal access token has the necessary permissions:
396-
- Code (read)
397-
- Pull Request Threads (read)
398-
- Work Items (read)
399-
- If using SSE mode, ensure the server is running before adding the MCP server in Cursor
400-
401-
### Command Not Found
402-
403-
- If running with npx, make sure you have Node.js installed
404-
- If using the global installation, try reinstalling: `npm install -g cursor-azure-devops-mcp`
405-
406-
### SSE Connection Issues
407-
408-
If you encounter JSON validation errors when connecting via SSE mode:
409-
410-
1. **Use Command Mode Instead**: The command mode is more reliable and recommended for most users.
411-
412-
2. **Check Cursor Version**: Ensure you're using Cursor version 0.46.9 or newer, as older versions had known issues with SSE connections.
413-
414-
3. **Run with Debug Logs**: Start the SSE server with debug logs:
415-
```bash
416-
DEBUG=* npm run sse-server
417-
```
418-
419-
4. **Port Conflicts**: Make sure no other service is using port 3000. You can change the port by setting the `PORT` environment variable:
420-
```bash
421-
PORT=3001 npm run sse-server
422-
```
423-
Then use `http://localhost:3001/sse` as the SSE endpoint URL.
424-
425-
5. **Network Issues**: Make sure your firewall isn't blocking the connection.
426-
427-
6. **Verify Server is Running**: Make sure you can access the server's home page at `http://localhost:3000`
428-
429-
### "Cannot set headers after they are sent to the client" Error
430-
431-
If you encounter this error when running the SSE server:
432-
433-
1. **Check for duplicate header settings**: This error occurs when the application tries to set HTTP headers after they've already been sent. In the SSE implementation, make sure you're not manually setting headers that the `SSEServerTransport` already sets.
434-
435-
2. **Avoid manual header manipulation**: The `SSEServerTransport` class from the MCP SDK handles the necessary headers for SSE connections. Don't set these headers manually:
436-
```javascript
437-
// Don't set these manually in your route handlers
438-
res.setHeader('Content-Type', 'text/event-stream');
439-
res.setHeader('Cache-Control', 'no-cache, no-transform');
440-
res.setHeader('Connection', 'keep-alive');
441-
```
442-
443-
3. **Check response handling**: Ensure you're not sending multiple responses to the same request. Each HTTP request should have exactly one response.
444-
445-
### Port Configuration Issues
446-
447-
If you're changing the port in your `.env` file but the server still runs on port 3000, try one of these solutions:
448-
449-
1. **Set the PORT directly in the command line**:
450-
```bash
451-
PORT=9836 npm run sse-server
452-
```
453-
454-
This is the most reliable way to change the port. The server will output the actual port it's using:
455-
```
456-
Server running on port 9836
457-
SSE endpoint: http://localhost:9836/sse
458-
Message endpoint: http://localhost:9836/message
459-
```
460-
461-
2. **Verify your `.env` file is being loaded**:
462-
Make sure your `.env` file is in the root directory of the project and has the correct format:
463-
```
464-
PORT=9836
465-
HOST=localhost
466-
AZURE_DEVOPS_ORG_URL=https://dev.azure.com/your-organization
467-
AZURE_DEVOPS_TOKEN=your-personal-access-token
468-
AZURE_DEVOPS_PROJECT=YourProject
469-
LOG_LEVEL=info
470-
```
471-
472-
3. **Use Command mode instead**:
473-
The Command mode is more reliable and doesn't require managing a separate HTTP server.
474-
475-
### Connecting to Cursor with Custom Port
476-
477-
If you're running the SSE server on a custom port (e.g., 9836), make sure to use the correct port when adding the MCP server in Cursor:
478-
479-
1. Start the server with your custom port:
480-
```bash
481-
PORT=9836 npm run sse-server
482-
```
483-
484-
2. In Cursor IDE, when adding the MCP server, use the correct port in the SSE endpoint URL:
485-
```
486-
http://localhost:9836/sse
487-
```
488-
489-
## License
490-
491-
MIT
492-
493-
## Contributing
494-
495-
Contributions are welcome! Please feel free to submit a Pull Request.
308+
```

0 commit comments

Comments
 (0)