sammcj/mcp-package-docs
mcp-package-docs is hosted online, so all tools can be tested directly either in theInspector tabor in theOnline Client.
If you are the rightful owner of mcp-package-docs and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
An MCP server providing LLMs with efficient access to package documentation across multiple programming languages and LSP capabilities.
Try mcp-package-docs with chat:
Has a README
Github repo has a README.md.
Has a License
Github repo has license info.
Server can be inspected
View server inspector
Server schema can be extracted
Can get at lease one tool info from the README or server.
Online hosted on MCPHub
Can be automatically deployed by MCPHub.
Has social accounts
Do not have any social accounts.
Claimed by the author or certified by MCPHub
If you are the author, claim authorship
AI Evaluation ReportTotal Score: 9/10
The MCP agent demonstrates a strong ability to provide accurate, relevant, and comprehensive information across various programming languages and packages. It effectively retrieves documentation, explains functions, and offers practical examples, showcasing its strengths in package documentation lookup and code assistance. However, there was a minor discrepancy in providing the most current version of the Axios documentation, indicating a slight limitation in accessing the latest updates. Overall, the agent consistently delivers high-quality responses, with only minor areas for improvement.
Test case 1
Score: 10/10Can you provide the latest documentation for the 'axios' NPM package?Here is the latest documentation for the Axios NPM package, which is a promise-based HTTP client for both the browser and Node.js.
Description
Axios is a popular library that allows you to make HTTP requests easily. It supports promises, allowing for cleaner asynchronous code.
CommonJS Usage
To gain TypeScript typings while using CommonJS imports with
require()
, you can use the following approach:import axios from 'axios'; // const axios = require('axios'); // legacy way // Make a request for a user with a given ID axios.get('/user?ID=12345') .then(function (response) { // handle success console.log(response); }) .catch(function (error) { // handle error console.log(error); }) .finally(function () { // always executed }); // Optionally the request above could also be done as axios.get('/user', { params: { ID: 12345 } }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }) .finally(function () { // always executed });
Using Async/Await
If you prefer using async/await, you can structure your code as follows:
async function getUser() { try { const response = await axios.get('/user?ID=12345'); console.log(response); } catch (error) { console.error(error); } }
Note:
async/await
is part of ECMAScript 2017 and is not supported in Internet Explorer and older browsers, so use it with caution.Performing a POST Request
axios.post('/user', { firstName: 'Fred', lastName: 'Flintstone' }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); });
Performing Multiple Concurrent Requests
function getUserAccount() { return axios.get('/user/12345'); } function getUserPermissions() { return axios.get('/user/12345/permissions'); } Promise.all([getUserAccount(), getUserPermissions()]) .then(function (results) { const acct = results[0]; const perm = results[1]; });
Conclusion
Axios provides a clean and simple API for making HTTP requests with powerful features like interceptors, request and response transformations, and automatic JSON data transformation. It is widely used in web applications for handling API calls efficiently.
Test case 2
Score: 10/10I'm looking for information on the 'serialize' function in the 'serde' crate. Can you help?The
serialize
function is part of theserde
crate, which is a generic serialization/deserialization framework in Rust. Hereâs an overview of its functionality and usage:Overview of
serde
- Crate Name:
serde
- Version: 1.0.219
- Description: Serde provides a framework for serializing and deserializing Rust data structures efficiently and generically.
Usage
To use Serde, you will typically need to include it in your
Cargo.toml
file as follows:[dependencies] serde = "1.0.219"
Key Features
- Generic Framework: Serde supports various data formats (like JSON, YAML, etc.) and allows you to easily serialize your Rust data structures into these formats and deserialize them back.
- Traits: It provides the
Serialize
andDeserialize
traits which you need to implement for your types to enable serialization and deserialization.
serialize
FunctionWhile the specific
serialize
function is not detailed in the search results, it is part of theSerialize
trait that you implement for your types. Here's a high-level example of how to use it:use serde::Serialize; use serde_json; // For JSON serialization #[derive(Serialize)] struct MyStruct { name: String, age: u32, } fn main() { let my_data = MyStruct { name: String::from("Alice"), age: 30, }; // Serializing my_data to a JSON string let serialized = serde_json::to_string(&my_data).unwrap(); println!("Serialized: {}", serialized); }
Resources
- Documentation: Serde Documentation
- Repository: Serde GitHub Repository
- Homepage: Serde Homepage
This gives you a foundational understanding of how to use the
serialize
function and theserde
framework in Rust. If you have specific questions about its implementation or need examples for particular use cases, feel free to ask!- Crate Name:
Test case 3
Score: 7/10I need the full documentation for the 'axios' NPM package. Can you provide that?Here is the full documentation for the Axios NPM package, which is a promise-based HTTP client for the browser and Node.js:
Description
Axios is a promise-based HTTP client that can be used in the browser and Node.js environments. It simplifies making HTTP requests and handling responses.
Basic Usage
CommonJS Usage
If you're using CommonJS imports with
require()
, you can gain TypeScript typings for better intellisense/autocomplete by using the following approach:import axios from 'axios'; // const axios = require('axios'); // legacy way // Make a request for a user with a given ID axios.get('/user?ID=12345') .then(function (response) { // handle success console.log(response); }) .catch(function (error) { // handle error console.log(error); }) .finally(function () { // always executed }); // Optionally, the request above could also be done as axios.get('/user', { params: { ID: 12345 } }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); }) .finally(function () { // always executed }); // Want to use async/await? Add the `async` keyword to your outer function/method. async function getUser() { try { const response = await axios.get('/user?ID=12345'); console.log(response); } catch (error) { console.error(error); } }
Note:
async/await
is part of ECMAScript 2017 and is not supported in Internet Explorer and older browsers, so use with caution.Performing a POST Request
axios.post('/user', { firstName: 'Fred', lastName: 'Flintstone' }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); });
Performing Multiple Concurrent Requests
function getUserAccount() { return axios.get('/user/12345'); } function getUserPermissions() { return axios.get('/user/12345/permissions'); } Promise.all([getUserAccount(), getUserPermissions()]) .then(function (results) { const acct = results[0]; const perm = results[1]; });
This documentation provides a comprehensive overview of using Axios for making HTTP requests, including examples for GET and POST requests, as well as handling multiple concurrent requests.
Test case 4
Score: 10/10I'm working on a Go project and need to understand what 'fmt.Println' does. Can you provide that information?The
fmt.Println
function in Go is part of thefmt
package, which provides formatting for I/O. Here's a detailed overview of whatfmt.Println
does:Overview of
fmt.Println
-
Functionality:
fmt.Println
is used to print values to the standard output, adding a space between arguments and appending a newline at the end. This makes it particularly convenient for displaying information that should appear on separate lines. -
Usage: It can take multiple arguments of different types, automatically converting them to their string representations.
Example of
fmt.Println
Hereâs a simple example demonstrating how
fmt.Println
works:package main import "fmt" func main() { name := "Alice" age := 30 fmt.Println(name, "is", age, "years old.") }
Output:
Alice is 30 years old.
Key Points
-
Spaces:
fmt.Println
automatically inserts spaces between arguments when they are not strings. In contrast,fmt.Print
does not add spaces. -
Newline: A newline is automatically added after the output, which is useful for readability. If you need to control the newline behavior, you might consider using
fmt.Print
orfmt.Printf
. -
Type Handling: It can handle various types (strings, integers, etc.) without requiring explicit conversion, thanks to Go's built-in type conversion.
Documentation
For detailed documentation, you can visit the official Go documentation for the
fmt
package: fmt Package Documentation.Using
fmt.Println
, you can efficiently print formatted output in your Go applications, making it a common choice for debugging and logging.-
Test case 5
Score: 10/10I need the full documentation for the 'express' NPM package, including installation and API details.Here is the full documentation for the Express NPM package, including installation instructions and API details.
Overview
Express is a fast, unopinionated, minimalist web framework for Node.js.
Installation
To install Express, you can use npm. Hereâs how to get started:
-
Clone the Express repository:
git clone https://github.com/expressjs/express.git --depth 1 && cd express
-
Install the dependencies:
npm install
-
Run an example: You can run any example from the repository:
node examples/content-negotiation
API Details
Express provides a robust set of features for web and mobile applications. Here are some of the core functionalities:
- Routing: You can define routes using various HTTP methods.
- Middleware: Functions that execute during the request-response cycle.
- Serving Static Files: Easily serve static files using the built-in middleware.
- Error Handling: Custom error handlers can be set up to manage different types of errors.
For more detailed information about the API, you can refer to the official Express documentation at Express API Reference.
Examples
To view various examples on how to use Express, check the examples directory in the cloned repository, or refer to the documentation on the Express website.
This should give you a comprehensive understanding of how to install and utilize Express in your projects. If you have further questions or need more specific details, feel free to ask!
-