diff --git a/src/node/src/client.js b/src/node/src/client.js
index 596ea5ebb0b082601010c2e2bde00950726dd4b9..3cdd55075242c750df019ff1936533d294cecd5e 100644
--- a/src/node/src/client.js
+++ b/src/node/src/client.js
@@ -33,6 +33,17 @@
 
 /**
  * Client module
+ *
+ * This module contains the factory method for creating Client classes, and the
+ * method calling code for all types of methods.
+ *
+ * For example, to create a client and call a method on it:
+ *
+ * var proto_obj = grpc.load(proto_file_path);
+ * var Client = proto_obj.package.subpackage.ServiceName;
+ * var client = new Client(server_address, client_credentials);
+ * var call = client.unaryMethod(arguments, callback);
+ *
  * @module
  */
 
diff --git a/src/node/src/common.js b/src/node/src/common.js
index ebaaa13db0f7c854ea6815bccb404a34f0b0703a..e4fe5a8e0358335305c7c3880f766089c456a499 100644
--- a/src/node/src/common.js
+++ b/src/node/src/common.js
@@ -32,6 +32,8 @@
  */
 
 /**
+ * This module contains functions that are common to client and server
+ * code. None of them should be used directly by gRPC users.
  * @module
  */
 
diff --git a/src/node/src/metadata.js b/src/node/src/metadata.js
index 183c3ad4fcfe313326c980ea1a0fa0e8adf2db97..0a2f1489b6ead9db26642f983d69a2dec7083f6c 100644
--- a/src/node/src/metadata.js
+++ b/src/node/src/metadata.js
@@ -33,6 +33,15 @@
 
 /**
  * Metadata module
+ *
+ * This module defines the Metadata class, which represents header and trailer
+ * metadata for gRPC calls. Here is an example of how to use it:
+ *
+ * var metadata = new metadata_module.Metadata();
+ * metadata.set('key1', 'value1');
+ * metadata.add('key1', 'value2');
+ * metadata.get('key1') // returns ['value1', 'value2']
+ *
  * @module
  */
 
diff --git a/src/node/src/server.js b/src/node/src/server.js
index 89e1090c6c47b2f171e5c4b0cd62a5f3e817302e..d1fb627e6cb3f4be4d404d638fdb21229db423fc 100644
--- a/src/node/src/server.js
+++ b/src/node/src/server.js
@@ -33,6 +33,17 @@
 
 /**
  * Server module
+ *
+ * This module contains all the server code for Node gRPC: both the Server
+ * class itself and the method handler code for all types of methods.
+ *
+ * For example, to create a Server, add a service, and start it:
+ *
+ * var server = new server_module.Server();
+ * server.addProtoService(protobuf_service_descriptor, service_implementation);
+ * server.bind('address:port', server_credential);
+ * server.start();
+ *
  * @module
  */
 
@@ -746,8 +757,8 @@ Server.prototype.addProtoService = function(service, implementation) {
  * Binds the server to the given port, with SSL enabled if creds is given
  * @param {string} port The port that the server should bind on, in the format
  *     "address:port"
- * @param {boolean=} creds Server credential object to be used for SSL. Pass
- *     nothing for an insecure port
+ * @param {ServerCredentials=} creds Server credential object to be used for
+ *     SSL. Pass an insecure credentials object for an insecure port.
  */
 Server.prototype.bind = function(port, creds) {
   if (this.started) {