MCP Login Server
Provides automated login functionality for localhost web applications using predefined credentials, designed to work with browser automation tools like the Playwright MCP server.
README Documentation
MCP Login Server
A Model Context Protocol (MCP) server that provides automated login functionality for http://localhost
using predefined credentials. This server is designed to work with browser automation tools like the Playwright MCP server.
Features
- Automated Login: Provides tools to perform login operations with predefined credentials
- Playwright Integration: Designed to work with the Playwright MCP server for browser automation
- Connection Testing: Includes tools to test connectivity to the target URL
- Credential Management: Secure handling of login credentials
- Extensible Architecture: Easy to add new tools with separated tool definitions
Project Structure
src/
├── index.ts # Main server setup and entry point
├── tools.ts # Tool definitions and registration
└── index.js # Compiled JavaScript (auto-generated)
The codebase is structured for easy extensibility:
index.ts
: Contains the main server setup, startup logic, and process managementtools.ts
: Contains all tool definitions, registration functions, and configurationADDING_TOOLS.md
: Detailed guide for adding new tools to the server
Installation
npm install
npm run build
Usage
Running the Server
npm start
Or for development:
npm run dev
Available Tools
The server provides the following MCP tools:
- perform_login - Performs automated login to http://localhost using predefined credentials
- get_login_credentials - Returns the login credentials for verification
- test_connection - Tests if the target URL is accessible
Configuration
The server is configured with the following credentials:
- Target URL:
http://localhost
- Username:
admin
- Password:
AIWorkshopJuly!25
These credentials are configured for the OrangeHRM system running on localhost.
MCP Configuration
To use this server with an MCP client (like Claude for Desktop), add the following configuration:
Windows
{
"mcpServers": {
"login-server": {
"command": "node",
"args": ["C:\\ABSOLUTE\\PATH\\TO\\PROJECT\\build\\index.js"]
}
}
}
macOS/Linux
{
"mcpServers": {
"login-server": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/PROJECT/build/index.js"]
}
}
}
Integration with Playwright MCP Server
This server is designed to work alongside the Playwright MCP server for complete browser automation. The perform_login
tool provides the necessary information and steps that can be executed by the Playwright MCP server.
Example Workflow
- Use the
test_connection
tool to verify the target URL is accessible - Use the
perform_login
tool to get login instructions - Use Playwright MCP server tools to execute the browser automation steps
Development
Project Structure
src/
├── index.ts # Main server implementation
├── types.ts # TypeScript type definitions (if any)
build/ # Compiled JavaScript output
.github/ # GitHub configuration
├── copilot-instructions.md # Copilot development guidelines
Building
npm run build
Scripts
npm run build
- Compile TypeScript to JavaScriptnpm start
- Run the compiled servernpm run dev
- Build and run in development modenpm run clean
- Clean build directory
Dependencies
@modelcontextprotocol/sdk
- MCP SDK for TypeScriptzod
- Runtime type validationtypescript
- TypeScript compiler
Error Handling
The server includes comprehensive error handling for:
- Connection failures
- Invalid credentials
- Network timeouts
- MCP protocol errors
Security
- Credentials are stored as constants in the code
- No sensitive data is logged to stdout (only to stderr for debugging)
- Connection testing uses safe HTTP HEAD requests
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
License
ISC License